单链表的创建及遍历
时间: 2023-08-21 08:03:33 浏览: 68
单链表是一种常见的数据结构,它由若干个结点构成,每个结点包含一个数据域和一个指向下一个结点的指针。
下面是单链表的创建和遍历代码:
```cpp
#include <iostream>
using namespace std;
struct ListNode {
int val;
ListNode* next;
ListNode(int x) : val(x), next(NULL) {}
};
ListNode* createList() {
ListNode* head = NULL;
ListNode* tail = NULL;
int n;
cout << "请输入链表长度:";
cin >> n;
cout << "请输入链表各元素:";
for (int i = 0; i < n; i++) {
int val;
cin >> val;
ListNode* node = new ListNode(val);
if (!head) {
head = node;
tail = node;
} else {
tail->next = node;
tail = node;
}
}
return head;
}
void printList(ListNode* head) {
while (head) {
cout << head->val << " ";
head = head->next;
}
cout << endl;
}
int main() {
ListNode* head = createList();
printList(head);
return 0;
}
```
在上述代码中,我们先定义了一个 `ListNode` 结构体来表示单链表的结点,其中包含了一个 `val` 属性和一个 `next` 指针,分别表示结点的值和指向下一个结点的指针。然后,我们定义了 `createList()` 函数来创建单链表,首先输入链表长度,然后逐个输入链表元素,并分别创建相应的结点,将它们连接起来。最后,函数返回链表头结点。我们还定义了 `printList()` 函数来遍历单链表,并输出每个结点的值。在 `main()` 函数中,我们调用 `createList()` 函数创建链表,然后调用 `printList()` 函数遍历链表并输出每个结点的值。
运行上述代码,即可输入链表长度和各元素,然后输出链表元素。