插入排序算法

插入排序算法

大家好,又见面了,我是全栈君,今天给大家准备了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;
	}
}


測试例如以下:

插入排序算法

插入排序算法

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

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

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

(0)
上一篇 2022年1月3日 下午1:00
下一篇 2022年1月3日 下午2:00


相关推荐

  • 数据库锁概述[通俗易懂]

    数据库锁概述[通俗易懂]行锁和表锁主要是针对锁粒度划分的,一般分为行锁、表锁、库锁行锁:访问数据库的时候,锁定整个行数据,防止并发错误。表锁:访问数据库的时候,锁定整个表数据,防止并发错误。二者的区别:表锁:开销小,加锁快,不会出现死锁;锁定粒度大,发生锁冲突概率高,并发度最低。行锁:开销大,加锁慢,会出现死锁;锁定粒度小,发生锁冲突的概率低,并发度高。乐观锁和悲观锁乐观锁:顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有更新这个数据,可以使用版

    2022年6月18日
    45
  • python数据可视化毕业设计题目_基于Python的数据可视化

    python数据可视化毕业设计题目_基于Python的数据可视化基于Python的数据可视化杨凯利[1];山美娟[2]【期刊名称】《《现代信息科技》》【年(卷),期】2019(000)005【摘要】在大数据快速发展的今天,Python丰富的工具包在科学计算、文件处理、数据可视化等领域越来越凸显其价值。能够发现数据、清洗数据,并使用正确的工具实现数据可视化至关重要。本文叙述了Python软件第三方库的安装和绘图工具的应用,并利用Numpy和Matplotlib库…

    2022年6月27日
    45
  • Linux nohup命令用法详解

    Linux nohup命令用法详解nohup 英文全称 nohangup 不挂起 用于在系统后台不挂断地运行命令 退出终端不会影响程序的运行 nohup 命令 在默认情况下 非重定向时 会输出一个名叫 nohup out 的文件到当前目录下 如果当前目录的 nohup out 文件不可写 输出重定向到 HOME nohup out 文件中 语法格式 nohupCommand Arg amp 参数说明 Command 要执行的命令 Arg 一些参数 可以指定输出文件 amp am

    2026年3月26日
    2
  • 没有秘密的Manus,是怎么成为顶流的?

    没有秘密的Manus,是怎么成为顶流的?

    2026年3月15日
    2
  • 算法学习–分酒问题(BFS)[通俗易懂]

    算法学习–分酒问题(BFS)[通俗易懂]有4个红酒瓶子,它们的容量分别是:9升,7升,4升,2升开始的状态是[9,0,0,0],也就是说:第一个瓶子满着,其它的都空着。允许把酒从一个瓶子倒入另一个瓶子,但只能把一个瓶子倒满或把一个瓶子倒空,不能有中间状态。这样的一次倒酒动作称为1次操作。假设瓶子的容量和初始状态不变,对于给定的目标状态,至少需要多少次操作才能实现?本题就是要求你编程实现最小操作次数的计算。输入:最终状…

    2022年10月19日
    4
  • mac pycharm 设置_pycharm配置conda环境

    mac pycharm 设置_pycharm配置conda环境MAC环境下pycharm调试Python代码@TOC安装从官网下载,社区版和专业版。和安装其他软件一样,不详细讲。需要配置解释器1.如图,打开配置页面2.如图,右边的框是解释器的位置,这个可以设置。因为项目的不同,经常会有使用不同的库的情况,不同版本放在一起很容易出问题,因此为避免此类问题,往往把不同的库装在不同的虚拟环境中。这样对于依赖于同样的库的项目就可以通过一个虚拟环境运行。安装包的时候最好在终端安装,pycharm直接安装容易出错。下图右面的框就是解释器的位置。3.点击右面的

    2022年8月28日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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