直接插入排序算法总结(C++代码、Qt)

本文详细介绍了直接插入排序算法的工作原理,包括其稳定性、空间和时间复杂度。通过划分数组,将无序元素依次插入有序数组中,通过while循环找到插入位置。并提供了完整的C++代码示例及调用方法。
摘要由CSDN通过智能技术生成

直接插入算法是一种稳定的(排序前后相同元素相对位置保持不变)排序算法,空间复杂度是O(1),最坏时间复杂度是O(n^{2})。一般用在数组基本有序或者数据规模很小的时候非常高效。直接插入排序主要思想是将一个数组分为有序数组和无序数组,然后将无序数组依次插入有序数组中,插入的时候,从无序数组的左边第一个数开始,往有序数组的右边第一个数从右到左插入;当待插入数据小于插入数据时,则该有序数组该位起的右边所有数据,依次向右移动一位,直到有序数组中有一个数大于待排数,则待排数插入该位置。

下图是引用这位作者的图片:https://mp.weixin.qq.com/s/vn3KiV-ez79FmbZ36SX9lg

直接插入排序动态原理图

一、实现步骤详解

实现步骤主要如下

1.1对数组arr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三公子Tjq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值