作业帮 > 综合 > 作业

将x插入有序数列 pascal

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 18:40:10
将x插入有序数列 pascal
将一个数x插入到有序数列a中,插入后a仍然有序.
Input
第一行输入有序数列a的元素个数
第二行依次输入a的元素,以回车结束
第三行输入x的值
Output
输出插入x后的数列,每个元素用空格隔开,最后用回车结束
Sample Input10
1 2 11 13 15 20 25 30 35 40
21
Sample Output1 2 11 13 15 20 21 25 30 35 40
好吧是个白痴问题= =以下我的代码 第三个点超时
program ex_2013;
var a:array[0..40000]of integer;
x,i,j,n:integer;
z:boolean;
begin
readln(n); z:=false;
for i:=1 to n do
read(a[i]);
read(x);
if a[2]>a[1] then z:=true;
i:=1;
if z then
begin
while a[i]=x do inc(i);
for j:=n+1 downto i do
a[j]:=a[j-1];
a[i]:=x;
end;
for i:=1 to n do
write(a[i],' ');
writeln(a[n+1]);
end.
求更快方法或如何更改使之不超时.复制搜索
楼主应该是run time error
而不是超时(time limit exceeded)
当加的数是最后一个会报错
报错样例:
5
1 2 3 4 5
6
错在while a[i]