逆序建立链表 C语言
时间: 2023-12-05 11:31:24 浏览: 141
逆序建立链表的C语言代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义链表节点结构体
struct node {
int data;
struct node *next;
};
// 逆序建立链表函数
struct node *reverseCreate(int n) {
struct node *head = NULL; // 头指针
struct node *p = NULL; // 当前节点指针
int i, num;
for (i = 0; i < n; i++) {
printf("请输入节点数据: ");
scanf("%d", &num);
// 创建新节点
p = (struct node *)malloc(sizeof(struct node));
p->data = num;
// 将新节点插入到链表头部
p->next = head;
head = p;
}
return head;
}
// 输出链表函数
void print(struct node *head) {
struct node *p = head;
while (p != NULL) {
printf("%d ", p->data);
p = p->next;
}
printf("\n");
}
int main() {
int n;
printf("请输入链表节点个数: ");
scanf("%d", &n);
struct node *head = reverseCreate(n); // 逆序建立链表
print(head); // 输出链表
return 0;
}
```
阅读全文