快速排序

寫一個快排的內部實現代碼及簡單應用。

方便以後查詢或者其他

 

#include<bits/stdc++.h>
#include<queue> 
#include<vector> 
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;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章