怎样用C语言建立顺序链表
时间: 2023-05-16 18:06:10 浏览: 95
用c语言实现顺序表
要建立顺序链表,需要先定义一个结构体来表示链表的节点,包括节点的值和指向下一个节点的指针。然后,需要定义一个头指针来指向链表的第一个节点。接下来,可以通过循环来不断添加新的节点,每个新节点都需要插入到链表的末尾。具体实现可以参考以下代码:
```
#include <stdio.h>
#include <stdlib.h>
// 定义链表节点结构体
struct node {
int data;
struct node *next;
};
int main() {
int n, i;
struct node *head, *p, *q;
printf("请输入链表节点个数:");
scanf("%d", &n);
// 创建链表头节点
head = (struct node *)malloc(sizeof(struct node));
head->next = NULL;
// 循环添加新节点
for (i = 0; i < n; i++) {
p = (struct node *)malloc(sizeof(struct node));
printf("请输入第%d个节点的值:", i + 1);
scanf("%d", &p->data);
p->next = NULL;
// 将新节点插入到链表末尾
q = head;
while (q->next != NULL) {
q = q->next;
}
q->next = p;
}
// 遍历链表并输出节点值
printf("链表节点值为:");
p = head->next;
while (p != NULL) {
printf("%d ", p->data);
p = p->next;
}
printf("\n");
// 释放链表内存
p = head;
while (p != NULL) {
q = p->next;
free(p);
p = q;
}
return 0;
}
```
这段代码可以通过循环来不断添加新的节点,每个新节点都需要插入到链表的末尾。最后遍历链表并输出节点值,然后释放链表内存。
阅读全文