来自「c语言排序」· 代码 · 共 38 行

TXT
38
字号
 Espate studio


--------------------------------------------------------------------------------

快速排序

基本思想:

      快速排序是通过一趟扫视使某个结点移到中间的位置,并使左边序列的结点的键值都比他小,右边序列的键值都比他大或相等。既而对相应的左右序列实行上述划分,直至新序列的长度为一。

参考程序

      假设一数组起始地址为 p,n个数的快速排序如下

void quicksort(int * p,int low,int high)
{
     int mid;
     int l,h;
     int t;
     l=low;
     h=high;
     mid=p[int((low+high)/2)];
     while (l<h) 
     {
          while (p[l]<mid) ++l;
          while (p[h]>mid) --h;
          t=p[l];
          p[l]=p[h];
          p[h]=t;
     }
     if (l>low) quicksort(p,low,l-1);
     if (h<high) quicksort(p,h+1,high);
}


adiwei

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?