typedef int INT;
typedef void VOID;
/*****************************************************************************
* 函数:qsort3 *
* 参数:pnSortNum:待排序数组. *
* nFirst:数组起始元素序号. *
* nLast:数组最后元素序号. *
* 返回值:无. *
* 功能:快速排序. *
* 说明:编程珠玑中快速排序算法3. *
*****************************************************************************/
VOID qsort3(INT *pnSortNum, INT nFirst, INT nLast)
{
INT i, j;
INT t;
INT nTem;
if (nFirst > nLast)
return;
t = pnSortNum[nFirst];
i = nFirst;
j = nLast + 1;
while (1)
{
do{i++;} while(pnSortNum[i]<t && i<=nLast);
do{j--;} while(pnSortNum[j]>t);
if(i > j)
break;
nTem = pnSortNum[i];
pnSortNum[i] = pnSortNum[j];
pnSortNum[j] = nTem;
}
pnSortNum[nFirst] = pnSortNum[j];
pnSortNum[j] = t;
qsort3(pnSortNum, nFirst, j-1);
qsort3(pnSortNum, j+1, nLast);
}
快速排序
最新推荐文章于 2021-11-19 16:57:43 发布