给出n个数,你要将这n(n<=100000)个数从小到大排序输出 能快速排序的,而且要用PASCAL语言
答案:4 悬赏:0 手机版
解决时间 2021-03-08 00:35
- 提问者网友:自食苦果
- 2021-03-07 20:40
给出n个数,你要将这n(n<=100000)个数从小到大排序输出 能快速排序的,而且要用PASCAL语言
最佳答案
- 五星知识达人网友:玩世
- 2021-03-07 21:01
program kp1;
var a:array[1..1000]of integer; n,z:integer;
procedure sort(l,r: longint);
var i,j,x,y: longint;
begin
i:=l; j:=r; x:=a[(l+r) div 2];
repeat
while a[i]
while xj;
if l
if i
end;
begin
read(n);
for z:=1 to n do
read(a[z]);
kp(1,n);
for z:=1 to n do
write(a[z],' ');
readln;
end.
快速排序
var a:array[1..1000]of integer; n,z:integer;
procedure sort(l,r: longint);
var i,j,x,y: longint;
begin
i:=l; j:=r; x:=a[(l+r) div 2];
repeat
while a[i]
if l
begin
read(n);
for z:=1 to n do
read(a[z]);
kp(1,n);
for z:=1 to n do
write(a[z],' ');
readln;
end.
快速排序
全部回答
- 1楼网友:人间朝暮
- 2021-03-07 22:28
procedure sort(l,r: longint);
var i,j,x,y: longint;
begin
i:=l; j:=r; x:=a[(l+r) div 2];
repeat
while a[i]
- 2楼网友:春色三分
- 2021-03-07 22:07
最基本的排血方法就行了啊 冒泡 选择 二分法 只是时间复杂度太高了
- 3楼网友:蓝房子
- 2021-03-07 21:17
冒泡法,已试过,望采纳
program maopao;
const n=5; {n设为5,可以修改}
var a:array[1..n] of integer;
i,j:integer;
temp:integer;
begin
writeln('please input array');
for i:=1 to n do read(a[i]); {读入数组a}
writeln('array a:');
for i:=1 to n do write(a[i],' ');writeln; {输出原始数据}
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
begin
temp:=a[i];a[i]:=a[j];a[j]:=temp; {交换a[i],a[j])
end;
writeln('result');
for i:=1 to n do write(a[i],' ');writeln; {输出}
end.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯