头插法建立单链表c++
时间: 2023-08-29 15:07:17 浏览: 97
头插法建立单链表
单链表的头插法建立过程如下:
1. 定义链表结构体,包括数据成员和指向下一个节点的指针。
```
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
```
2. 定义头节点,并初始化为NULL。
```
ListNode* head = NULL;
```
3. 读入节点的值,以-1作为输入的结束标志。
```
int val;
cin >> val;
while (val != -1) {
// 头插法建立链表
ListNode* node = new ListNode(val);
node->next = head;
head = node;
cin >> val;
}
```
完整的代码如下:
```
#include <iostream>
using namespace std;
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
int main() {
ListNode* head = NULL;
int val;
cin >> val;
while (val != -1) {
// 头插法建立链表
ListNode* node = new ListNode(val);
node->next = head;
head = node;
cin >> val;
}
// 输出链表
ListNode* p = head;
while (p != NULL) {
cout << p->val << " ";
p = p->next;
}
return 0;
}
```
阅读全文