将x插入有序数列 pascal
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/18 16:03:37
将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.
求更快方法或如何更改使之不超时.复制搜索
将一个数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]
而不是超时(time limit exceeded)
当加的数是最后一个会报错
报错样例:
5
1 2 3 4 5
6
错在while a[i]
C语言编程:有序数列的数据插入问题.将一个数插入到已有10个整数的有序数列中,数据插入之后,数列仍然
从键盘输入一个数,将其插入到有序的数列中去,插入后的数列仍然保持以前的顺序.
把一个给定数插到有序数列中,插入后数列仍然有序
急 把一个给定数插到有序数列中,插入后数列仍然有序
自然数有序拆分pascal
设计一个算法,将某一个X值插入到一个有序(运用顺序存储结构),对线性表进
1. 在有序数列中插入一个数,生成新的有序数列? 2. 在已知数列中删除某个数?
1.在有序数列中插入一个数,生成新的有序数列?2.在已知数列中删除某个数?
数据结构 已知一个顺序表递增有序,试设计一种算法,将x插入到表中的适当位置,以保持顺序表的有
设顺序表va中的数据元素递增有序.试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性.
我有一个vb程序,目的是:把一个给定数插到有序数列中,插入后数列仍然有序.我编写的插不进去数,
有n个数,已按从小到大顺序排列好.要求输入一个数,插入原数列中,仍然保持有序