切换到宽版
  • 64073阅读
  • 111回复

排序 [复制链接]

上一主题 下一主题
离线940222
只看该作者 60 发表于: 2007-07-16
dddd
离线940222
只看该作者 61 发表于: 2007-07-16
dddd
离线940222
只看该作者 62 发表于: 2007-07-16
dddddd
离线940222
只看该作者 63 发表于: 2007-07-16
ddddd
离线tzwangzy
只看该作者 64 发表于: 2007-07-28
弓虽!!!!!!!!!!!!!!
离线sxpeter
只看该作者 65 发表于: 2007-08-14
关于Qsort
qsort的标准程序在demo\text\qsort.pp中有,以下是一个稳定的qsort

type tlist=array[0..max]of longint;

procedure qsort(var a : tlist);

    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<x do
            inc(i);
          while x<a[j] do
            dec(j);
          if not(i>j) then
            begin
                y:=a;
                a:=a[j];
                a[j]:=y;
                inc(i);
                j:=j-1;
            end;
        until i>j;
        if l<j then
          sort(l,j);
        if i<r then
          sort(i,r);
      end;

    begin
      sort(1,a[0]);
    end;

使用时,只须const max的值
须调用时写一句qsort(a)即可
注:a为须排序的数组,a[0]表示a的长度
离线317909561
只看该作者 66 发表于: 2007-08-23
晕了
离线317909561
只看该作者 67 发表于: 2007-08-23
大牛就是牛啊,真受不了
离线linjianman
只看该作者 68 发表于: 2007-08-23
ding
离线340508965
只看该作者 69 发表于: 2007-08-30
DDDDD
快速回复
限100 字节
 
上一个 下一个