//插入排序:从小到大排序
void InsertSort(int a[], int size){
for(int i=1;i<size;++i)//a[i]是最左的无序元素,每次循环将a[i]放到合适位置
{
for (int j = 0; j < i; ++j)
{
if (a[i] < a[j])//如果成立,将a[i]放在a[j]位置,a[j]到a[i-1]的元素都要往后移动一位
{
int temp = a[i];//先将a[i]的值赋给一个临时变量
for (int k = i; k > j; k--)//元素移动时先移动后面的,即先将a[i-1]的值赋给a[i]
{
a[k] = a[k - 1];
}
a[j] = temp;//将temp中a[i]的值赋给a[j]
break;
}
}
}
}
插入排序
最新推荐文章于 2022-03-09 14:39:33 发布