C/C++快速排序算法

#include 
#include 

void quicksort(int *arr,unsigned int len)
{
    if(len < 2)  return;//如果子序列小于两个元素则不用排序

    int l = 0;//左下标
    int r = len-1;//右下标
    int tmp = arr[0];//选取最左边数为中心轴
    int flag = 2;//标志位   设置默认从右边开始

    while(l= tmp )
            {
                r--;
                continue;
            }

            arr[l] = arr[r];
            l++;
            flag = 1 ;
            continue;
        }

        if(flag == 1)//左区间
        {
            if(arr[l] <= tmp)
            {
                l++;
                continue;
            }

            arr[r] = arr[l];
            r--;
            flag = 2;
            continue;
        }

    }

    arr[l] = tmp;
    //arr[r] = tmp;  也可以

    quicksort(arr,l);//左区间排序
    quicksort(arr+l+1,l

你可能感兴趣的:(排序算法,c语言,c++)