排序

来源:互联网 发布:淘宝助手上传图片失败 编辑:程序博客网 时间:2024/05/17 04:31

快排


Pascal

procedure sort(i,j:longint);    var x,y,z:longint;    var tmp:longint;begin    x:=i;    y:=j;    Z:=d[(i+j)/2];    repeat        while z<d[y]             do y:=y-1;        while z>d[x]             do x:=x+1;        if x<=y then        begin            tmp:=d[x];            d[x]:=d[y];            d[y]:=tmp;            x:=x+1;            y:=y-1;        end;    until x>y;    if x<j then         sort(x,j);    if i<y then         sort(i,y);end;

C

void swap(int i,int j){    int t = list[i];    list[i] = list[j];    list[j] = t;}void qqsort(int i,int j){    int x,y,z,t;    x = i;    y = j;    z = list[(i+j)/2];    do    {        while(z < list[y])            y --;        while(z > list[x])            x ++;        if(x <= y)        {            swap(x,y);            x ++;            y -- ;        }    }while(x <= y);    if(x < j)        qqsort(x,j);    if(i < y)        qqsort(i,y);}
0 0
原创粉丝点击