没有头结点的头插建立链表的C语言代码
时间: 2023-12-08 07:04:24 浏览: 84
下面是一个没有头结点的头插法建立链表的C语言代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 链表节点结构体
typedef struct Node {
int data;
struct Node* next;
} Node;
// 头插法建立链表
Node* createList() {
Node* head = NULL; // 头指针初始化为NULL
int num;
printf("请输入节点的值(输入-1结束):\n");
scanf("%d", &num);
while (num != -1) {
Node* newNode = (Node*)malloc(sizeof(Node));
newNode->data = num;
newNode->next = head; // 将新节点的next指向原链表的第一个节点
head = newNode; // 更新头指针,指向新插入的节点
scanf("%d", &num);
}
return head;
}
// 打印链表
void printList(Node* head) {
printf("链表的元素为:\n");
Node* curr = head;
while (curr != NULL) {
printf("%d ", curr->data);
curr = curr->next;
}
printf("\n");
}
// 主函数
int main() {
Node* head = createList();
printList(head);
return 0;
}
```
这段代码演示了如何使用头插法建立链表。首先,程序要求用户输入一系列整数作为节点的值,输入-1表示结束。然后,程序会按照用户输入的顺序创建链表,并通过头插法将新节点插入链表的头部。最后,程序会打印出链表的所有元素。
希望对你有所帮助!如有任何疑问,请随时提问。
阅读全文