开发者社区> 问答> 正文

编写一个算法,实现快速排序

编写一个算法,实现快速排序

展开
收起
知与谁同 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
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
数据+算法定义新世界 立即下载
袋鼠云基于实时计算的反黄牛算法 立即下载
Alink:基于Apache Flink的算法平台 立即下载