用C++创建一个带头结点的单链表。 要求:此单链表长度为 10;创建完成后,输出显示所创建单链表各结点的 值
时间: 2024-04-30 22:17:17 浏览: 94
建立带有头结点的链表
4星 · 用户满意度95%
好的,让我来为您解答。以下是代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义单链表节点结构体
typedef struct Node {
int data; // 数据域
struct Node *next; // 指针域
} Node;
int main() {
// 创建头结点
Node *head = (Node *) malloc(sizeof(Node));
head->next = NULL;
// 创建单链表
Node *p = head;
for (int i = 1; i <= 10; i++) {
// 新建节点并赋值
Node *newNode = (Node *) malloc(sizeof(Node));
newNode->data = i;
// 当前节点指向新节点
p->next = newNode;
// 将尾指针指向新节点
p = p->next;
}
// 遍历单链表并输出各节点的值
p = head->next;
while (p != NULL) {
printf("%d ", p->data);
p = p->next;
}
// 释放所有节点的空间
p = head;
while (p != NULL) {
Node *temp = p->next;
free(p);
p = temp;
}
return 0;
}
```
注意,这里我们采用了带头结点的单链表,头结点的数据域可以不存任何数据,这里我们直接将头结点的指针域设为 NULL。在遍历时,也需要从 `head->next` 开始,因为头结点的下一个节点才是我们真正存数据的第一个节点。最后别忘了要释放所有节点空间。
阅读全文