插入排序-----直接插入排序

基本思想
每一步将一个待排序的元素,按其排序码的大小,插入到前面已经排好序的一组元素的合适位置上去,直到元素全部插完为止。

具体代码实现:

void InsretSort(int arr[], int size)
{
	int i = 1;
	for (i = 1; i < size; i++)
	{
		int key = arr[i];
		int end = i - 1;
		//找插入位置
		while (end >= 0 && key < arr[end])
		{
			//搬移数据
			arr[end + 1] = arr[end];
			end--;
		}
		//插入元素
		arr[end + 1] = key;
	}
}

猜你喜欢

转载自blog.csdn.net/huaijiu123/article/details/82845410