c语言实现一个函数,按输入数据的逆序建立一个链表。
时间: 2024-05-07 12:16:19 浏览: 126
利用C编程编写链表逆转
可以的,这个问题很合适。以下是实现该功能的C语言代码:
```
#include <stdio.h>
#include <stdlib.h>
typedef struct node {
int data;
struct node *next;
} Node, *LinkList;
LinkList createList(int n) {
LinkList head = NULL;
Node *p = NULL;
int i, data;
for (i = 1; i <= n; i++) {
scanf("%d", &data);
p = (Node*)malloc(sizeof(Node));
p->data = data;
p->next = head;
head = p;
}
return head;
}
void printList(LinkList head) {
Node *p = head;
while (p != NULL) {
printf("%d ", p->data);
p = p->next;
}
printf("\n");
}
int main() {
int n;
printf("请输入链表长度:");
scanf("%d", &n);
printf("请输入链表各节点数据:");
LinkList head = createList(n);
printf("链表为:");
printList(head);
return 0;
}
```
该程序会先提示用户输入链表长度,然后要求用户输入各节点的数据,最后按输入的逆序建立链表并输出。
阅读全文