本题要求实现,建立一个链表,按输入数据的逆序输出。
时间: 2024-05-13 14:15:08 浏览: 101
可以通过定义一个结构体来实现链表,每个结点包含一个数据项和一个指向下一个结点的指针。按照输入顺序建立链表,然后按照逆序输出即可。
具体实现可以参考以下代码:
#include <stdio.h>
#include <stdlib.h>
// 定义链表结点
typedef struct node {
int data;
struct node* next;
} Node;
int main() {
Node* head = NULL; // 链表头指针
int num;
// 读入数据,建立链表
while (scanf("%d", &num) != EOF) {
Node* new_node = (Node*)malloc(sizeof(Node));
new_node->data = num;
new_node->next = head;
head = new_node;
}
// 输出链表数据
Node* p = head;
while (p != NULL) {
printf("%d ", p->data);
p = p->next;
}
return 0;
}
在此代码中,每次读入一个数时,都创建一个新的结点,并将其插入到链表的头部。读入完毕后,从链表的头部开始遍历,输出每个结点的数据项即可。需要注意的是,由于链表是逆序建立的,因此输出的顺序也是逆序的。
阅读全文