快速排序

思想:选定中轴,然后然后比中轴元素小的放在左边,大的放在右边,然后依次递归左边和右边,直到所有中轴归位。

void quicksort(int* p,int l,int h)
{
    if(l<h)
    {
        int pivot=p[l];
        int lo=l,high=h;  
        while(lo<high)
        {
        while(p[high]>=pivot && lo<high)
            high--;
        p[lo]=p[high];
        while(p[lo]<=pivot && lo<high)
            lo++;
           p[high]=p[lo];
        }
        p[lo]=pivot;
        quicksort(p,l,high-1);
        quicksort(p,lo+1,h);
    }
}

 

上一篇:Python分配函数和内存地址


下一篇:[LeetCode96] 不同的二叉搜索树