快速排序.cpp

来自「五种排序算法」· C++ 代码 · 共 18 行

CPP
18
字号
int partiton(T a[],int n,int num)
{
	int i=genindex(n,num); //随机找一个轴值
    T b=a[i];num--;n--;
    
	while(n<num)   //将小于轴值的元素放到轴值左边,大于轴值的元素放到轴值的右边
	{
		while((n<num)&&a[num]>=b)
		  num--;
        if(num>n)
            {swap(a[i],a[num]);i=num;}
        while((n<num)&&a[n]<=b)
           n++;
		if(n<num)
		    {swap(a[i],a[n]);i=n;}
	}
	return i;	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?