描述
建立一个升序链表并遍历输出。
输入描述:
输入的每个案例中第一行包括1个整数:n(1<=n<=1000),接下来的一行包括n个整数。
输出描述:
可能有多组测试数据,对于每组数据, 将n个整数建立升序链表,之后遍历链表并输出。
示例1
输入:
4 3 5 7 9
复制输出:
3 5 7 9
分析
如果不用链表则本题较为简单,只需使用qsort函数将数组元素进行升序排列即可。
#include <stdio.h>
#include <stdlib.h>
int cmp(int* a, int* b) {//排为升序数组
return *a - *b;
}
int main() {
#define NUMSIZE 1000
int a, b;
int n;
int num[NUMSIZE];
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &num[i]);
}
qsort(num, n, sizeof(int), cmp);
for (int i = 0; i < n; i++) {
printf("%d ", num[i]);
}
return 0;
}
答案
#include <stdio.h>
#include <stdlib.h>
// 定义链表节点结构体