插入排序法

插入排序法的灵感来自于抽牌,首先手中的牌是有序的,每次抽一张牌,找到合适位置将它插入,手中的牌一直保持有序。
C++代码实现

#include<iostream>

int main()
{
	int a[10] = { 23,45,16,21,97,-3,16,-89,37,94 };
	int i,j,key;

	for (j = 1; j < 10; j++)
	{
		key = a[j];	//需要一个变量来记录取出的值
		for (i = j - 1; i >= 0 && key < a[i]; i--)	//取出第j个牌,与手中的牌比较,找到合适的插入位置
		{
			a[i + 1] = a[i];
		}
		a[i + 1] = key;
	}

	for (j = 0; j < 10; j++)
	{
		std::cout << a[j]<<' ';
	}
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务