c++自定义快速排序

快速排序是什么就不多说了,一般使用STL里的sort函数即可,以下给出两种自定义快速排序方法。

1、快速排序(需要临时空间)

#include
void QuickSort(int *a,int n)
{
	if(n<=1)
		return;
	int *left=new int[n];
	int *right=new int[n];
	int nl=0,nr=0;
	int x=a[n-1];
	for(int i=0;i

 

2、快速排序(不需要临时空间)

#include
void QuickSort(int *a,int l,int r)
{
	int i,j,mid,p;
	i=l;j=r;
	mid=a[(l+r)/2];
	do
	{
		while(a[i]mid)
			j--;
		if(i<=j)
		{
			p=a[i];
			a[i]=a[j];
			a[j]=p;
			i++;
			j--;
		}
	}while(i<=j); 
	if(l

 

你可能感兴趣的:(c++自定义快速排序)