有一个语句不是很明白……
void Insert(int a[],int n,const int &x)
{
for(int i=n-1;i>=0 && x<a[i];--i)
a[i+1]=a[i];
a[i+1]=x;
} //数组a以升序排列,将x插入a中
void InsertionSort(int a[],int n)
{
for(int i=1;i<n;++i)
{
int temp=a[i];
Insert(a,i,temp); //#1
}
}
InsertionSort是一个改进的插入排序,这样可以减少一些不必要的操作,但是不知道#1为什么这么用,不解……