//OK啦.
#include <iostream.h>
#include <conio.h>
void QuickSort(int [],int,int);
int xiao;
int main()
{
const int geshu=10;
int a[geshu]={110,2,3,6,4,5,7,8,10,9};
cout<<"Ten numbers is:"<<endl;
for(int i=0;i<geshu;i++)
cout<<a[i]<<" ";
cout<<endl;
QuickSort(a,0,geshu-1);
for(int g=0;g<geshu;g++)
cout<<a[g]<<" ";
cout<<endl;
getch();
return 0;
}
void QuickSort(int x[],int low,int high)
{
int middle;
for(int j=high;j>low;j--)
{ //第一个数和最后的比较,如果有比它小的就和它换位置
if(x[low]>x[j])
{
middle=x[low];
x[low]=x[j];
x[j]=middle;
} //当有了一次换位后跳出
}
///////////////////////////////////////////////////
for(int i=0;i<high;i++) //已排好就跳出不再排,这样就可减少多余的排序
{
if(x[i]>x[i+1])
break;
if(i==8)
return;
}
/////////////////////////////////////////////////////
low+=1;
if(low<high)
QuickSort(x,low,high); //递归调用
}
[此贴子已经被作者于2005-11-24 10:32:28编辑过]
=×&D o I p R e E n C g T l X&×=