用C语言创建一个单链表,插入一个新的结点,其值为 27,成为单链表的第 5 个结点;插入完成 后,输出显示此时单链表的长度以及各结点的值。
时间: 2024-03-23 18:13:09 浏览: 39
好的,我明白了您的问题。下面是 C 语言的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义单链表节点结构体
struct Node {
int data;
struct Node* next;
};
int main() {
// 创建头节点
struct Node* head = (struct Node*)malloc(sizeof(struct Node));
head->data = 0;
head->next = NULL;
// 创建并插入新节点
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
newNode->data = 27;
newNode->next = NULL;
struct Node* curNode = head;
for (int i = 0; i < 4; ++i) {
curNode = curNode->next;
}
newNode->next = curNode->next;
curNode->next = newNode;
// 输出单链表的长度及各结点的值
curNode = head->next;
int len = 0;
while (curNode != NULL) {
printf("%d ", curNode->data);
++len;
curNode = curNode->next;
}
printf("\n单链表长度为:%d\n", len);
// 释放链表内存
curNode = head;
while (curNode != NULL) {
struct Node* tempNode = curNode;
curNode = curNode->next;
free(tempNode);
}
return 0;
}
```
这段代码创建了一个头节点,并在头节点之后插入了一个新节点,然后输出链表的长度和各节点的值。希望可以对您有所帮助。
阅读全文