当前位置:网站首页>C语言实现-直接插入排序(带图详解)
C语言实现-直接插入排序(带图详解)
2022-08-01 19:38:00 【Demon--hx】
直接插入排序的实现
一、基本思想
像现实中打扑克牌一样,抓牌就是直接插入排序的很好例子,每抓一张牌插入到合适的位置,最后得到一个有序序列。所以直接插入排序的思想就是把待排序的数字逐个插入到已经排好的有序序列里,最后得到一个新的有序序列。
二、实现思路
①先进行单趟排序:使一个有序区间,插入一个数继续有序,使其依然保持有序。
②再排多趟排序:多趟排序后序列越来越接近有序,最后得到有序序列。
三、图形解释过程
四、代码实现
//直接插入排序
void insertsort(int* a, int n)
{
//多趟数排序,最后为一个有序序列
for (int i = 0; i < n - 1; i++)
{
//单趟排序 [0,end]有序,把值end+1的值插入后,依然有序
int end=i;
int tmp = a[end + 1];
while (end >= 0)
{
if (tmp < a[end])
{
a[end + 1] = a[end];
end--;
}
else
break;
}
a[end + 1] = tmp;
}
}五、直接插入排序性质总结
边栏推荐
- Library website construction source code sharing
- kingbaseV8R3和postgreSQL哪个版本最接近?
- 油猴hook小脚本
- MLX90640 Infrared Thermal Imager Temperature Measurement Module Development Notes (Complete)
- 第57章 业务逻辑之业务实体与数据库表的映射规则定义
- 有序双向链表的实现。
- 57:第五章:开发admin管理服务:10:开发【从MongoDB的GridFS中,获取文件,接口】;(从GridFS中,获取文件的SOP)(不使用MongoDB的服务,可以排除其自动加载类)
- nacos安装与配置
- Find the sum of two numbers
- [Kapok] #Summer Challenge# Hongmeng mini game project - Sudoku (3)
猜你喜欢
随机推荐
Write code anytime, anywhere -- deploy your own cloud development environment based on Code-server
[Kapok] #Summer Challenge# Hongmeng mini game project - Sudoku (3)
GBase 8c中怎么查询数据库配置参数,例如datestyle。使用什么函数或者语法呢?
经验共享|在线文档协作:企业文档处理的最佳选择
把 Oracle 数据库从 RAC 集群迁移到单机环境
八百客、销售易、纷享销客各行其道
【服务器数据恢复】服务器Raid5阵列mdisk组中多块磁盘离线的数据恢复案例
随时随地写代码--基于Code-server部署自己的云开发环境
TestNG multiple xml for automated testing
力扣刷题之移动零
Selenium在远程中的截图
30天刷题计划(五)
ThreadLocal讲义
对于web性能优化我有话说!
To drive efficient upstream and downstream collaboration, how can cross-border B2B e-commerce platforms release the core value of the LED industry supply chain?
DAO development tutorial [WEB3.0]
easyUI中datagrid中的formatter里面向后台发送请求获取数据
XSS靶场中级绕过
为什么限制了Oracle的SGA和PGA,OS仍然会用到SWAP?
An implementation of an ordered doubly linked list.









