zoukankan      html  css  js  c++  java
  • 快速排序

    int get_mid(int A[],int left,int right)
    {
        int pivot=A[left];
        while(left<right)
        {
            for(;A[right]>=pivot&&left<right;right--)/*> 错,>= 对*/
            {
                ;
            }
            A[left]=A[right];
            
            for(;A[left]<=pivot&&left<right;left++)/*如果<=,A[0]会进入循环,不会在下一步被移走,而且减少了交换次数*/ 
            {
                ;
            }
            A[right]=A[left];
        }
        
        A[left]=pivot;
        
        return left;/*粗心错误:忘记返回*/
    }
    void quick_sort(int A[],int left,int right)
    {
        if(left<right)
        {
            int mid=get_mid(A,left,right);
            quick_sort(A,left,mid-1);
            quick_sort(A,mid+1,right);        
        }
    } 
  • 相关阅读:
    c学习第6天
    c学习第5天
    c学习第4天
    c学习第1天
    20171009/20171010/20171011
    20171010
    20171008
    20171007
    20171006
    matrix
  • 原文地址:https://www.cnblogs.com/angury/p/13023818.html
Copyright © 2011-2022 走看看