美文网首页
快速排序

快速排序

作者: 无聊的CairBin | 来源:发表于2021-10-25 13:29 被阅读0次

    代码

    /*
     快速排序
     对low至high的位置进行排序
     */
    void QuickSort(int R[], int low, int high)
    {
        int temp, i = low, j = high;
        if(i<j)
        {
            temp = R[low];
            //下面将小于temp的数放置在temp左面,否则放右面
            while(j>i&&R[j]>=temp) j--;
            if(i<j)
            {
                R[i] = R[j];
                i++;
            }
            
            while(i<j&&R[i]<temp) i++;
            
            if(i<j)
            {
                R[j] = R[i];
                j--;
            }
            R[i] = temp;
            
            //递归
            QuickSort(R, low, i-1);
            QuickSort(R, i+1, high);
            
        }
        
        
    }
    

    原理

    以一个数字作为中间数,将比这个数小的数放左面排序,其余的放右面排序

    相关文章

      网友评论

          本文标题:快速排序

          本文链接:https://www.haomeiwen.com/subject/wwijaltx.html