快速排序是一種比較簡單並且排序效果很不錯的排序算法,具體的介紹能夠看這篇文章「這篇文章"
ios
get
include
using namespace std;算法
void quicksort(int data,int start,int end);
void swap(int data,int i,int j);uiint main()
{
int data[] = {6,1,2,7,9,3,4,5,10,8};
cout << "before sort,data is" << endl;
for(int i = 0;i < 10;++i)
cout << data[i] << " ";
cout << endl;spaquicksort(data,0,9); cout << "After sorted,data is:" << endl; for(int i = 0;i < 10;++i) cout << data[i] << " "; return 0;
}code
void quicksort(int *data,int start, int end)
{
if(start > end)
return;
int i = start;
int j = end;
int base = data[i];htmwhile (i < j) { while(data[j] >= base && j > i) --j; while(data[i] <= base && i < j) ++i; if (i < j) swap(data,i,j); } swap(data,start,i); quicksort(data,start,i-1); quicksort(data,i+1,end);
}排序
quicksort(data,0,9); cout << "After sorted,data is:" << endl; for(int i = 0;i < 10;++i) cout << data[i] << " "; return 0;while (i < j) { while(data[j] >= base && j > i) --j; while(data[i] <= base && i < j) ++i; if (i < j) swap(data,i,j); } swap(data,start,i); quicksort(data,start,i-1); quicksort(data,i+1,end);void swap(int *data,int i,int j)
{
int temp = data[i];
data[i] = data[j];
data[j] = temp;
}