#include <iostream>
using namespace std;
void Swap(int* a,int* b)
{
int temp=*a;
*a=*b;
*b=temp;
}
int* Sort(int* begin,int* end)
{
while(begin<end)
{
while(begin<end&&*begin<=*end)
{
end--;
}
if(begin<end)
{
Swap(begin++,end);
}
while(begin<end&&*begin<=*end)
{
begin++;
}
if(begin<end)
{
Swap(begin,end--);
}
}
return begin;
}
void QuickSort(int* begin,int* end)
{
int* mid =Sort(begin,end);
if(begin<mid)
{
QuickSort(begin,mid-1);
}
if(mid<end)
{
QuickSort(mid+1,end);
}
}
int main(int argc, char *argv[])
{
int a[10]={
4,6,8,7,3,2,5,9,0,1
};
QuickSort(a,a+9);
for(int i=0;i<10;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
int* b = (int*) malloc(sizeof(int)*10);
int* c=b;
for(int i=0;i<10;i++)
{
*(c++)=10-i;
}
QuickSort(b,b+9);
c=b;
for(int i=0;i<10;i++)
{
cout<<*(c++)<<" ";
}
cout<<endl;
delete b;
return 0;
}
快速排序(C++实现)
最新推荐文章于 2024-08-16 08:17:29 发布