c语言创建一个长度为10的链表,C语言链表基本操作(10页)-原创力文档
时间: 2023-07-25 17:12:14 浏览: 135
好的,我可以回答你的问题。以下是 C 语言创建一个长度为 10 的链表的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node *next;
};
int main() {
struct Node *head = NULL;
struct Node *tail = NULL;
struct Node *newNode = NULL;
for (int i = 0; i < 10; i++) {
newNode = (struct Node *)malloc(sizeof(struct Node));
if (newNode == NULL) {
printf("Memory allocation failed!");
exit(1);
}
printf("Enter a number: ");
scanf("%d", &newNode->data);
newNode->next = NULL;
if (head == NULL) {
head = newNode;
} else {
tail->next = newNode;
}
tail = newNode;
}
// Print the linked list
struct Node *current = head;
while (current != NULL) {
printf("%d ", current->data);
current = current->next;
}
// Free memory
current = head;
while (current != NULL) {
head = head->next;
free(current);
current = head;
}
return 0;
}
```
这个程序使用了一个结构体 `Node` 来表示链表中的节点,其中 `data` 保存节点的值,`next` 指向下一个节点。在 `main` 函数中,我们先定义了头指针 `head` 和尾指针 `tail`,并将它们都初始化为 `NULL`。然后使用 `for` 循环,创建 10 个节点并依次加入链表中。每次创建节点时,我们使用 `malloc` 分配一块内存,并读入节点的值。接着判断链表是否为空,如果是,则将头指针指向当前节点;否则,将尾指针的 `next` 指针指向当前节点。最后,更新尾指针为当前节点,进入下一次循环。
创建完链表后,我们使用一个 `while` 循环遍历链表,并输出每个节点的值。最后,我们再次遍历链表,逐个释放节点所占用的内存,防止内存泄漏。
希望这个示例代码能够对你有所帮助。如果你还有其他问题,可以继续问我。
阅读全文