首页 技术资料正文

C语言直接插入排序算法(yaml)

piaodoo 技术资料 2022-08-27 00:12:17 835 0

C语言直接插入排序算法(yaml)

C语言直接插入排序算法

插入排序是把一个记录插入到已排序的有序序列中,使整个序列在插入该记录后仍然有序。插入排序中较简单的种方法是直接插入排序,其插入位置的确定方法是将待插入的记录与有序区中的各记录自右向左依次比较其关键字值的大小。本实例要求使用直接插入排序法将数字由小到大进行排序。

实现过程:

(1) 自定义一个函数,实现直接插入排序,在本实例中,我们自定义该函数为 insort()。(2) main() 函数为程序的入口函数。程序代码如下:
include 
int insort(int s[], int n)    /* 自定义函数 insort()*/
{
    int i,j;
    for(i=2;i<=n;i++)    //数组下标从2开始,s[0]做监视哨,s[1]一个数据无可比性
    {
        s[0]=s[i];    //给监视哨陚值
        j=i-1;    //确定要比较元素的最右边位黄
        while(s[0]

运行结果:

请输入10个数据:25 12 36 45 2 9 39 22 98 37原始顺序:25   12   36   45    2    9   39   22   98   37插入数据排序后顺序:2    9   12   22   25   36   37   39   45   98aux.是什么词性

技术要点:

本实例算法过程如表 1 所示。原始顺序:25 12 36 45 2 9 39 27 98 37
表1 直接插入排序过程
趟数监视哨排序结果
125(12,)25,36,45,2,9,39,22,98,37
212(12,25,)36,45,2,9,39,22,98,37
336(12,25,36,)45,2,9,39,22,98,37
445(12,25,36,45,)2,9,39,22,98,37
52(2,12,25,36,45,)9,39,22,98,37
69(2,9,12,25,36,45,)39,22,98,37
739(2,9,12,25,36,39,45,)22,98,37
822(2,9,12,22,25,36,39,45,)98,37
998(2,9,12,22,25,36,39,45,98,)37
1037(2,9,12,22,25,36,37,39,45,98,)

指点迷津:

本算法中使用了监视哨,主要是为了避免数据在后移时丢失。

版权声明:

本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。

有关影视版权:本站只供百度云网盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件告知【754403226@qq.com】,在收到邮件后72小时内删除。本文链接:https://www.piaodoo.com/119341.html

搜索