R7-1 顺序建立链表 分数 10 作者 usx程序设计类课程组 单位 绍兴文理学院 输入一个整数n,再输入n个整数,按照输入的顺序建立单链表,并遍历所建立的单链表,输出这些数据。 输入格式: 测试数据有多组,处理到文件尾。每组测试输入一个整数n,再输入n个整数。 输出格式: 对于每组测试,输出顺序链表中的各结点的数据域的值(数据之间留一个空格)。 输入样例: 5 1 2 3 4 5 输出样例: 1 2 3 4 5 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB
时间: 2023-03-15 16:55:45 浏览: 601
顺序链表的建立和使用
该题目要求输入一个整数n,再输入n个整数,并按照输入的顺序建立单链表,并遍历所建立的单链表,输出这些数据。
解决该题目的步骤如下:
1. 创建一个节点结构体,其中包含数据域和指向下一个节点的指针。
2. 在输入n个整数后,创建一个空的单链表。
3. 遍历输入的n个整数,并将每个数据插入到单链表的末尾。
4. 遍历单链表,输出每个节点的数据域的值。
下面是使用C语言实现该题目的代码示例:
```
#include <stdio.h>
#include <stdlib.h>
struct node {
int data;
struct node *next;
};
int main(void) {
int n;
while (scanf("%d", &n) == 1) {
// 创建空的单链表
struct node *head = NULL;
for (int i = 0; i < n; i++) {
int data;
scanf("%d", &data);
// 将数据插入到单链表的末尾
struct node *new_node = malloc(sizeof(struct node));
new_node->data = data;
new_node->next = NULL;
if (head == NULL) {
head = new_node;
} else {
struct node *p = head;
while (p->next != NULL) {
p = p->next;
}
p->next = new_node;
}
}
// 遍历单链表,输出每个节点的数据域的值
struct node *p = head;
while (p != NULL) {
printf("%d ", p->data);
p = p->next;
阅读全文