有整形数组L,序列为49,38,65,97,76,13,27,使用快速排序的方法排序为升序的数组序列:13,27,38,49,65,76,97。
#include<iostream>
using namespace std;
//-----------------
int partition(int L[],int low,int high)
{
L[7]=L[low];
int pivotkey=L[low];
while(low<high)
{
while(low<high&&L[high]>=pivotkey) --high;
L[low]=L[high];
while(low<high&&L[low]<=pivotkey) ++low;
L[high]=L[low];
}
L[low]=L[7];
return low;
}
void QSort(int L[],int low,int high)
{
if(low<high)
{
int pivotloc=partition(L,low,high);
QSort(L,low,pivotloc-1);
QSort(L,pivotloc+1,high);
}
}
void QuickSort(int L[])
{
QSort(L,0,6);
}
int main()
{
int L[8]={49,38,65,97,76,13,27};
for(int i=0;i<7;i++)
cout<<L[i]<<" ";
cout<<endl;
QuickSort(L);
for(i=0;i<7;i++)
cout<<L[i]<<" ";
cout<<endl;
return 0;}