快速排序
- 将想要排序的数据通过一趟排序分割成两部分,其中的一部分数据比另外一部分的小;然后按照此方法对两部分数据分别快速排序。
#include<iostream>
#include<string>
using namespace std;
void quickSort(int* array,int begin,int end)
{
int l = begin;
int r = end;
int temp = array[begin];
if(l>=r)
{
return;
}
while(l != r)
{
if(l<r && array[r] > temp)
{
r--;
}
array[l] = array[r];
if(l<r && array[l] < temp)
{
l++;
}
array[r] = array[l];
}
array[l] = temp;
quickSort(array,begin,l-1);
quickSort(array,l+1,end);
}
int main()
{
int array[] = {23,45,3,2,24,56,1,67,4};
int len = sizeof(array)/sizeof(int);
quickSort(array,0,len-1);
for(int i = 0;i<len;i++)
{
cout<<array[i]<<endl;
}
return 0;
}