双氢青蒿素临床效果:用pascal语言实现希尔排序算法

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 21:24:51
pascal语言现在很少用到,哪位能帮帮忙谢谢了!

procedure prshl(p,n)

begin

k:=n/2;

while(k>0) do begin

for j:=k to n-1 do begin

t:=p[j];i:=j-k;

while((i>=0) and (p[i]>t)) do begin

p[i+k]:=p[i];i:=i-k;

end;

p[i+k]:=t;

end;

k:=k/2;

end;

end;
大体上就是这样

{a是要排序的数组,长度为n,序号为1至n}
jump := n Div 2;
While jump > 0 Do Begin
f := True;
For i:=1 To n-jump Do
If a[i] > a[i+jump] {从小到大,从大到小就用"<"} Then Begin
temp := a[i];
a[i] := a[i+jump];
a[i+jump] := temp;
f := False;
End;
If f Then jump := jump Div 2;
End;

看《数据结构》