#include<iostream>
using namespace std;
/*
*Author: http://blog.youkuaiyun.com/godwin_q
*程序环境: C—Free5.0
*语言:C++
*/
void Swap(int& a, int& b)
{
int temp = a;
a = b;
b = temp;
}
int Partion(int a[], int begin, int end)
{
int value = a[end];
int i = begin-1;
for(int j = begin; j < end-1; j++)
{
if(a[j] <= value){
i = i + 1;
Swap(a[i],a[j]);
}
}
Swap(a[i+1],a[end]);
return i+1;
}
void quicksort(int a[], int begin, int end)
{
if(begin<end)
{
int mid = Partion(a,begin,end);
quicksort(a,begin,mid-1);
quicksort(a,mid+1,end);
}
}
int main()
{
int a[] = {
1,6,7,2,3,9,0
};
int length = sizeof(a)/sizeof(int);
quicksort(a,0,length-1);
for(int i=0; i< length; ++i)
cout << a[i] << endl;;
return 0;
}
简单的快速排序程序代码。
快排在已经完全有序的情况下,性能最差。-----O(n*n)