以下是引用nuciewth在2006-7-27 16:09:46的发言:
void insertsort(int data[],int n)
{
int i,j,temp;
for(i=1;i<n;i++)//从第二个元素开始将各元素插入到前面有序排列中去.
{
temp=data[i];//保存要被插入的元素
j=i;
while(j>0&&temp>data[j-1])//从i-1的位置往前找第一个比被插元素(data[i])小的位置
{
data[j]=data[j-1];//不符合条件,查找时往后移动元素,以便空出位子,留给所要被插入的元素(data[i])
j--;//下标下移
}
data[j]=temp;//循环跳出,表示该位置就是要插入的位置
}
}