插入排序类似于我们平常打扑克排序扑克牌一样,抽一张牌后从右到左依次比较这张牌和手中牌的大小然后插入合适的位置
现在我们模拟一个数组A[6]={5,2,4,6,1,3}的插入排序过程
#include<cstdio>
#include<ctime>
#include<cstring>
#include<algorithm>
#include<cassert>
#include<iostream>
using namespace std;
int main() {
int A[6] = { 5,2,4,6,1,3};
for (int j = 1; j < 6; j++)
{
int key = A[j];
int i = j - 1;
while (i >= 0 && A[i] >key)//找到合适的插入位置
{
A[i + 1] = A[i];
i = i - 1;
}
A[i + 1] = key;
}
for (int i = 0; i < 6; i++)
cout << A[i] << " ";
system("pause");
return 0;
}