直接插入排序-CSDN博客

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

排序——先写单个——再衍生到整体

单个插入排序——在插入前数组里面的数是有序的然后来了一个数据就要用这个数组从后往前和这个数比较
在这里插入图片描述
整体的话就是end从0开始循环n-1次

void TnsertSort(int* a,int n)
{
	int end = 0;
	for (end = 0; end < n - 1; end++)
	{
		int tmp = a[end + 1];
		while (end >= 0)//每次最坏的结果就是一直比较到最后一个数
		{
			if (a[end] < tmp)
			{
				a[end + 1] = a[end];
			}
			else
			{
				break;//不需要再往下比了
			}
			end--;
		}
		a[end + 1] = tmp;直接跳出后再这里赋值的好处当while循环走完了也就是比较到了最后一个数时循环结束也适用这个赋值
	}
}

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6