要求输入一个整数n,再输入n个整数,按照输入顺序建立单链表,并遍历所建立的单链表,输出这些数据。用C语言来实现
时间: 2023-12-02 12:02:30 浏览: 208
好的,以下是代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义单链表结构体
typedef struct ListNode {
int val;
struct ListNode *next;
} ListNode;
// 建立单链表
ListNode *createList(int n) {
ListNode *head = NULL, *tail = NULL;
int i, num;
for (i = 0; i < n; i++) {
scanf("%d", &num);
ListNode *node = (ListNode *) malloc(sizeof(ListNode));
node->val = num;
node->next = NULL;
if (head == NULL) {
head = node;
} else {
tail->next = node;
}
tail = node;
}
return head;
}
// 遍历单链表并输出其元素
void printList(ListNode *head) {
ListNode *p = head;
while (p != NULL) {
printf("%d ", p->val);
p = p->next;
}
}
int main() {
int n;
scanf("%d", &n);
ListNode *head = createList(n);
printList(head);
return 0;
}
```
代码实现的思路是先根据输入的整数n,循环读入n个整数,然后动态地创建链表节点,同时按照输入顺序将节点逐一连接起来,最后返回头节点head。建立好链表之后,再通过遍历链表的方式,依次输出链表中的元素。
阅读全文