void QuickSort(int* pData,int left,int right)
{
int i = left, j = right;
int middle = pData[(left+right)/2]; // midlle value
int iTemp;
do
{
while (pData[i] < middle && i < right) i++;
while (pData[j] > middle && j > left) j--;
if (i < j) // swap
{
iTemp = pData[i];
pData[i] = pData[j];
pData[j] = iTemp;
i++; j--;
}
else if (i == j)
{
i++; j--;
}
} while (i < j);
if (left < j) QuickSort(pData,left,j);
if (right > i) QuickSort(pData,i,right);
}
没的说,理解不了就是背也得把这段代码背下来。
posted on 2008-08-18 17:02
胡满超 阅读(765)
评论(0) 编辑 收藏 引用