编写程序建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入0时,表示结束(链表头结点的data域不放数据,表空条件是next==NULL)。
时间: 2024-02-20 17:56:16 浏览: 35
好的,这是一个简单的头结点单向链表的建立代码,您可以参考一下:
```c++
#include <iostream>
using namespace std;
//链表结点的定义
struct Node {
int data;
Node *next;
};
int main() {
Node *head = new Node; //头结点
head->next = nullptr; //初始化为空链表
Node *p = head; //p指向最后一个结点
//输入数据,建立链表
int x;
cin >> x;
while (x != 0) {
Node *newNode = new Node;
newNode->data = x;
newNode->next = nullptr;
p->next = newNode;
p = newNode;
cin >> x;
}
//输出链表
p = head->next;
while (p != nullptr) {
cout << p->data << " ";
p = p->next;
}
cout << endl;
return 0;
}
```
代码中,头结点的data域为空,next域指向第一个结点。建立链表时,使用一个指针p记录最后一个结点,每输入一个数据就新建一个结点,将其链接到p的后面,然后更新p指向该结点。最后输出链表时,从头结点的下一个结点开始遍历输出即可。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)