从键盘输入20个整数,产生带表头的单链表,并输出结点值;
时间: 2024-01-06 14:04:47 浏览: 78
好的,以下是实现这个功能的 C++ 代码:
```cpp
#include <iostream>
using namespace std;
// 定义单链表结点的结构体
struct ListNode {
int val; // 结点值
ListNode* next; // 指向下一个结点的指针
ListNode(int x) : val(x), next(NULL) {}
};
int main() {
// 创建带表头的单链表
ListNode* head = new ListNode(0);
ListNode* p = head;
for (int i = 0; i < 20; ++i) {
int x;
cin >> x;
p->next = new ListNode(x);
p = p->next;
}
// 输出单链表结点的值
p = head->next;
while (p != NULL) {
cout << p->val << " ";
p = p->next;
}
cout << endl;
// 释放单链表的内存
p = head;
while (p != NULL) {
ListNode* q = p;
p = p->next;
delete q;
}
return 0;
}
```
这段代码首先创建了一个带表头的单链表,然后读入 20 个整数并按顺序插入到单链表中。接下来,遍历单链表并输出每个结点的值。最后,释放单链表的内存。注意,这个单链表的结点值从第二个结点开始存放,第一个结点是表头结点,其值为 0。
阅读全文