博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
插入排序
阅读量:6910 次
发布时间:2019-06-27

本文共 538 字,大约阅读时间需要 1 分钟。

一般来说,插入排序都采用in-place在 上实现。具体算法描述如下:
⒈ 从第一个元素开始,该元素可以认为已经被排序
⒉ 取出下一个元素,在已经排序的元素序列中从后向前扫描
⒊ 如果该元素(已排序)大于新元素,将该元素移到下一位置
⒋ 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置
⒌ 将新元素插入到下一位置中
⒍ 重复步骤2~5
如果比较操作的代价比交换操作大的话,可以采用 法来减少比较操作的数目。该算法可以认为是插入排序的一个变种,称为 排序。
 
void
insertion_sort(
int
array[],
int
first,
int
last)
{
    
int
i,j;
    
int
temp;
    
for
(i = first+1; i<=last;i++)
    
{
        
temp = array[i];
        
j=i-1;
        
//与已排序的数逐一比较,大于temp时,该数移后
        
while
((j>=first) && (array[j] > temp)){
            
array[j+1] = array[j];
            
j--;
        
}
        
array[j+1] = temp;
    
}
}

转载于:https://www.cnblogs.com/yulang314/p/3558538.html

你可能感兴趣的文章
使用qemu工具创建虚拟机模板示例
查看>>
MySQL order by后对其他索引的干扰,导致优化器走错索引
查看>>
CentOS 5.8 64位 源码安装mysql5.5.28
查看>>
windows下后台运行程序
查看>>
传统的MapReduce框架慢在那里
查看>>
Linux下修改Mysql的用户(root)的密码
查看>>
20个java异常处理最佳实践
查看>>
centos架设pptp服务:并测试windos客户端、Linux客户端!
查看>>
【c#】BackgroundWorker类的使用方法
查看>>
【NetApp】启用smb2.0
查看>>
001作业题
查看>>
关于实习
查看>>
叠加等边三角形
查看>>
【对拍√】
查看>>
重载,继承,重写,多态的区别
查看>>
NUnit笔记
查看>>
maven添加sqlserver的jdbc驱动包
查看>>
POJ 1426 Find The Multiple
查看>>
WPF入门教程系列五——Window 介绍
查看>>
数字图像处理中所用数学工具4---集合、逻辑操作与模糊集合
查看>>