1樓:sky之痕
var a:array[1..1000] of integer;
n,m,i,j,l:integer;
beginreadln(n);
for i:=1 to n do read(a[i]);
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then beginl:=a[i];
a[i]:=a[j];
a[j]:=l;
m:=m+1;
end;writeln(m);
for i:=1 to n do write(a[i]);
end.~~你故意的,還是真是這個水平啊? 呃。快排。
var a:array[0..1001] of integer;
n,k,i:integer;
procedure qsort(l,h:integer);
vari,j,t,m:integer;
begini:=l; j:=h; m:=a[(i+j) div 2];
repeat
while a[i]>m do inc(i);
while m>a[j] do dec(j);
if i<=j then
begint:=a[i]; a[i]:=a[j]; a[j]:=t;
inc(i); dec(j); inc(k);
end;until i>j;
if il then qsort(l,j);
end;begin
readln(n);
for i:=1 to n do read(a[i]);
qsort(1,n);
writeln(k);
for i:=1 to n do write(a[i]);
end.
2樓:網友
var a[1..1000]
n,m,i,j,k,l:integer;
beginreadln(n);
for i:=1 to n do
read(a[i]);
beginfor i:=1 to n-1 dok:=i;begin
for j:=i+1 to n do
if a[j]>a[k] then k:=jend;if k<>i then
begin l:=a[i];
a[i]:=a[k];
a[k]:=l;
m:=m+1;
end;end;
writeln(m);
i:=1 to n do
write(a[i])
end. 這個保留了k變數,可減少交換次數。
3樓:網友
m是什麼,最少交換次數?
樓主該把題說清。
請幫我看一下這個pascal程式**錯了
4樓:莫入紅塵
你這爆搜啥剪枝也沒有不超時才怪。。。
5樓:大蝦的海角
這個程式應該是最省的了,應該是資料有問題,要改進的話只能別用過程。
C程式關於指標氣泡排序法,一個C程式關於指標氣泡排序法
define n 10 include stdio.h void sort int p1,int n main p a int i puts before invert for i 0 i puts ninverting.p a sort p,n printf leter for i 0 i mai...
C語言編寫程式用氣泡排序實現降序排列
include void main printf 排序後的數字為 for i 0 i 9 i printf d p i printf n 氣泡排序 bubble sort 是一種電腦科學領域的較簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數...
這數排序,沒看懂這個程式,求大神可以幫忙解釋一下
網上bai找的,其它跟我的思du路一樣,直接轉來.沒註冊類別zhi是原因是 程式調dao用com元件失敗,被調回用的com元件沒有註冊答 解決問題的根本辦法是看程式呼叫的是哪個元件,對應哪個檔案,手動註冊一下也許可以解決。我碰到這個問題的情況是64位系統下,有些元件 微軟的 只有32位版本,64位的...