将数组保存至单链表代码表述C++
时间: 2024-10-22 12:16:57 浏览: 17
c++代码实现单链表逆置输出
将数组转换成单链表在C++中可以分为几个步骤,首先创建链表节点结构,然后遍历数组并添加节点到链表。这里是一个简单的示例:
```cpp
#include <iostream>
using namespace std;
// 定义链表节点
struct ListNode {
int val; // 节点值
ListNode* next; // 指向下一个节点的指针
ListNode(int x) : val(x), next(NULL) {} // 构造函数
};
// 将数组转换为链表
ListNode* arrayToLinkedList(int arr[], int n) {
if (n == 0) return NULL; // 如果数组为空,则返回空链表
ListNode* head = new ListNode(arr[0]); // 创建头节点
ListNode* tail = head; // 初始化尾节点为头节点
for (int i = 1; i < n; ++i) {
ListNode* newNode = new ListNode(arr[i]); // 创建新的节点
tail->next = newNode; // 将新节点连接到尾部
tail = newNode; // 更新尾节点
}
return head; // 返回链表的头节点
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
ListNode* list = arrayToLinkedList(arr, n);
while (list != NULL) {
cout << list->val << " -> ";
list = list->next;
}
cout << "NULL" << endl;
delete list; // 删除链表
return 0;
}
```
这个代码首先定义了一个`ListNode`结构体表示链表节点,接着`arrayToLinkedList`函数接受一个整数数组和其长度,通过循环将数组元素逐一插入到链表中。在`main`函数里,我们创建一个数组,并将其转换为链表,最后打印链表内容。
阅读全文