尾插法创建一个带头单链表
时间: 2024-12-06 11:07:27 浏览: 17
尾插法创建带头单链表的步骤如下:
1. 定义一个头结点,初始化为空链表。
2. 定义一个指针p指向头结点。
3. 循环输入节点的值,直到输入-1为止。
4. 动态申请一个节点空间,将输入的值存入节点中。
5. 将p指针指向新申请的节点。
6. 将新节点的next指针置为NULL。
7. 将p指针移动到新节点上。
8. 重复步骤3-7,直到输入-1结束。
下面是一个示例代码:
```c++
#include <iostream>
using namespace std;
struct ListNode {
int val;
ListNode* next;
ListNode(int x) : val(x), next(NULL) {}
};
ListNode* createList() {
ListNode* head = new ListNode(0); // 头结点
ListNode* p = head; // 指向尾部的指针
int x;
cin >> x;
while (x != -1) {
ListNode* node = new ListNode(x);
p->next = node;
p = node;
cin >> x;
}
return head;
}
void printList(ListNode* head) {
ListNode* p = head->next;
while (p != NULL) {
cout << p->val << " ";
p = p->next;
}
cout << endl;
}
int main() {
ListNode* head = createList();
printList(head);
return 0;
}
```
阅读全文