陈晓陈妍希亲热:排序,PASCAL程序

来源:百度文库 编辑:高校问答 时间:2024/05/06 06:56:08
输入十个数,将他们由大到小排列出来,并打印。
请分别用冒泡,选择,盲目排序来做

type
q=array[1..10] of longint;
var
c:q;
i,t:longint;
procedure sort1(s:q);{冒泡}
var
i,j:longint;
begin
for i:=1 to 9 do
for j:=i+1 to 10 do
if s[i]>s[j] then
begin
t:=s[i];
s[i]:=s[j];
s[j]:=t;
end;
c:=s;
end;
procedure sort2(s:q);{选择}
var
i,j,min:longint;
begin
for i:=1 to 10 do
begin
min:=i;
for j:=i to 10 do
begin
if s[j]<s[min] then
min:=j;
end;
t:=s[i];
s[i]:=s[min];
s[min]:=t;
c:=s;
end;
end;
begin
for i:=1 to 10 do
read(c[i]);
sort1(c);{sort1是冒泡,sort2是选择}
for i:=1 to 10 do
writeln(c[i]);
end.
不知道你说的盲目排序是什么意思
如果是垃圾排序
那么对不起
10个数太多
懒得写
tju关了
你可以参考
http://www.oibh.org/bbs/archiver/?tid-2670.html