编写一个算法,实现快速排序
收起
知与谁同
2018-07-15 14:47:42
1365
0
2
条回答
写回答
取消
提交回答
-
好像就是进行大小比较,循环吧
2019-07-17 22:50:30
-
/************************************************************************/
/* 快速排序 */
/************************************************************************/
void CommonALG::quickSort(float *arr, int left, int right)
{
int ltemp = left;
int rtemp = right;
float f = arr[(left + right) / 2];
float t = 0;
while(ltemp < rtemp)
{
while(arr[ltemp]<f)
++ltemp;
while(arr[rtemp]>f)
--rtemp;
if(ltemp<=rtemp)
{
t = arr[ltemp];
arr[ltemp] = arr[rtemp];
arr[rtemp] = t;
--rtemp;
++ltemp;
}
}
if(ltemp==rtemp)
ltemp++;
if(left<rtemp)
quickSort(arr,left,ltemp-1);
if(ltemp<right)
quickSort(arr,rtemp+1,right);
}
2019-07-17 22:50:30