回 帖 发 新 帖 刷新版面

主题:[讨论]【求救】选择排序改冒泡!!!【急用,在线等!】

下面程序是选择排序:

const n=10;
var a:array[1..10] of integer;
    i,j:integer;
    temp:integer;
begin
  randomize;
  for i:= 1 to n do a[i]=random(100);
  for i:= 1 to n-1 do
  for j:=i+1 to mdo
    [color=FF0000]if a[i]>a[j] then    (只能改这一行!)   [/color]
   begin   
temp:=a[i];a[i]:=a[j]; a[j]:=temp;
   end;
writeln('result');
  for i = 1 to n do writeln (a[i]:3);
end.



只能改红色一行,怎么改成冒泡??

回复列表 (共7个回复)

沙发

program mppx;
const n=10;
var a:array[1..n] of integer;
    i,j,k,t:integer;
begin
     write('Enter date:');
     for i:= 1 to n do read(a[i]);
     for i:=1 to n-1 do
      for j:=n downto i+1 do
       if a[j-1]<a[j] then
        begin t:=a[j-1];a[j-1]:=a[j];a[j]:=t end;
     write('output data:');
     for i:= 1 to n do write(a[i]:3);
     writeln;
end.

板凳

楼上不对

3 楼

绝对是对的,我验证过

4 楼

我是说改法不对

5 楼

楼主算法本来就是冒泡啊~~

6 楼

if a[i]<a[i+1] then

7 楼

if a[i]<a[i+1] then

我来回复

您尚未登录,请登录后再回复。点此登录或注册