快速排序

写一个快排的内部实现代码及简单应用。

方便以后查询或者其他

 

#include
#include 
#include 
using namespace std;

#define MAXN 500010
int a[MAXN] = { 1, 8, 6, 5, 4, 9, 7, 2, 3, 2 };

void quicksort(int l, int r)
{
	if (l > r)
		return;
	int temp = a[l];
	int i = l;
	int j = r;
	int k = 0;
	while (i != j)
	{
		while (a[j] > temp && i < j)
			j--; 
		while (a[i] <= temp && i < j)
		{
			i++;
		}
		if (i < j)
			swap(a[i], a[j]);
	}
	swap(a[i], a[l]);
	quicksort(l, i - 1);
	quicksort(i + 1, r);
}
int main()
{
	quicksort(0, 9);
	return 0;
}

 

你可能感兴趣的:(ACM)