插入排序算法

插入排序算法

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

C语言简单的插入算法:

插入排序的基本思想:

经过i-1遍处理后,a1a2ai-1己排好序。

i遍处理仅将ai插入a 1a2ai-1的适当位置。使得a1a2ai成为有序序列。

首先比較aiai-1,假设ai-1ai,则a1a2ai已经是有序序列,第i遍处理就结束了;否则交换aiai-1的位置。继续比較ai-1ai-2。直到找到某一个位置j(1ji-1)。使得aj aj+1时为止。

实例图:

插入排序算法

插入排序算法

排序过程:

插入排序算法

插入排序算法

核心代码:

void insertSort(int arr[], int length)
{
	int key;
	int i, j;
    for(i = 1; i < length; i++)
	{
       key = arr[i];
	   for(j = i - 1; j>= 0; j--)
	   {
		   if(arr[j] >= key)
		   {
			   arr[j+1] = arr[j];
		   }
		   else
			   break;
	   }
	   arr[j+1] = key;
	}
}


測试例如以下:

插入排序算法

插入排序算法

版权声明:本文博客原创文章,博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/117597.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号