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

本文共 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

你可能感兴趣的文章
java死锁的解决_java中常见的死锁以及解决方法代码
查看>>
java菜单栏不下拉_我java代码中的下拉列表设好后为什么无法下拉?
查看>>
java传递引用类型的实质_java的引用类型以及值传递
查看>>
java策略模式使用场景,Java设计模式—策略模式
查看>>
RHEL6.3实现基于加密的用户认证验证访问
查看>>
SCCM2012 R2实战系列之十一:解决OSD分发Windows7 系统盘盘符为’D’问题
查看>>
经验分享:我是如何在网店无货源情况下快速出单?
查看>>
限免的Mac App套件,工程师绝对不可错过
查看>>
Skype for Business Server 2015-05-监控和存档服务器-配置
查看>>
浅谈物化视图
查看>>
安装SQL Server 2017
查看>>
超融合超越企业传统存储绕不开的六个问题
查看>>
医院CIO的一幅工作对联
查看>>
DPM灾难切换应用场景
查看>>
简单配置Oracle10g DataGuard物理备库
查看>>
网曝支付宝漏洞:手机丢了,支付宝也就完了
查看>>
4 在vCenter Server安装View Composer组件
查看>>
SFB 项目经验-24-为持久聊天室-查询或者增加成员
查看>>
Linux下配置Squid基础教程
查看>>
当Cacti遭遇大流量
查看>>