/***原版快速排序***/
#include <iostream>
using namespace std;
void swap(int &a,int &b)
{
int c=a;
a=b;
b=c;
}
int partion(int *array,int _low,int _high)
{
int pkey;
pkey=array[_low];
while(_low<_high)
{
while(_low<_high&&array[_high]>=pkey)
{
_high--;
}
swap(array[_low],array[_high]);
while(_low<_high&&array[_low]<=pkey)
{
_low++;
}
swap(array[_low],array[_high]);
}
return _low;
}
void MyQuicksort(int *array,int low,int high)
{
int p=0;
if (low<high)
{
p=partion(array,low,high);
MyQuicksort(array,low,p-1);
MyQuicksort(array,p+1,high);
}
}
int main()
{
int arr[14]={15,7,26,3,20,14,2,12,4,7,32,55,10,20};
for (int i=0;i<14;i++)
{
cout<<arr[i]<<" ";
}
cout<<endl;
MyQuicksort(arr,0,13);
for (int i=0;i<14;i++)
{
cout<<arr[i]<<" ";
}
cout<<endl;
return 0;
}
快速排序
最新推荐文章于 2021-11-19 16:57:43 发布