PTA 递增有序顺序表的插入 (实验)
实验目的:1、掌握线性表的基本知识 2、深入理解、掌握并灵活运用线性表。3、熟练掌握线性表的存储结构及主要运算的实现
已知顺序表 L 递增有序,将 X 插入到线性表的适当位置上,保证线性表有序。
输入格式:
第 1 行输入顺序表长度,第 2 行输入递增有序的顺序表,第 3 行输入要插入的数据元素 X。
输出格式:
对每一组输入,在一行中输出插入 X 后的递增的顺序表。
输入样例:
在这里给出一组输入。例如:
5
1 3 5 7 9
6
输出样例:
在这里给出相应的输出。例如:
1,3,5,6,7,9,
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
解题
流程图
#include <stdio.h>
int main() {
int array[1000];
int length, x, temp, i;
scanf("%d", &length);
for (i = 0; i < length; i++)
scanf("%d", &array[i]);
scanf("%d", &x);
array[length] = x;
for (i = length; i > 0; i--)
//判断当前取数组的值是否小于数组前一位的值
if (array[i] < array[i - 1]) {
//temp=array[i];把当前值赋给临时变量保存一下
temp = array[i];
//把当前遍历前一位赋给i
array[i] = array[i - 1];
//取temp的值赋给前一位索引元素,完成交换
array[i - 1] = temp;
}
for (i = 0; i < length + 1; i++)
printf("%d,", array[i]);
return 0;
}