快速排序法的C++代码

时间:2012-06-14 04:08:22
【文件属性】:

文件名称:快速排序法的C++代码

文件大小:679B

文件格式:TXT

更新时间:2012-06-14 04:08:22

排序

void QuickSort(int *pData, int left, int right) { int i, j; int middle, iTemp; i = left; j = right; middle = pData[(left + right) / 2]; //求中间值 do { while ((pData[i] < middle) && (i < right)) //从左扫描大于中值的数 i++; while ((pData[j] > middle) && (j > left)) //从右扫描小于中值的数 j--; if (i <= j) //找到了一对值 { //交换 iTemp = pData[i]; pData[i] = pData[j]; pData[j] = iTemp; i++; j--; } } while (i <= j) ; //如果两边扫描的下标交错,就停止(完成一次) //当左边部分有值(lefti),递归右半边 if(right>i) QuickSort (pData,i,right); }


网友评论