直接插入排序

 时间:2026-02-14 05:29:25

1、1.简单方法

首先在当前有序区R[1..i-1]中查找R[i]的正确插入位置k(1≤k≤i-1);然后将R[k..i-1]中的记录均后移一个位置,腾出k位置上的空间插入R[i]。

注意:若R[i]的关键字大于等于R[1..i-1]中所有记录的关键字,则R[i]就是插入原位置。

2.改进的方法

一种查找比较操作和记录移动操作交替地进行的方法。具体做法:

将待插入记录R[i]的关键字从右向左依次与有序区中记录R[j](j=i-1,i-2,…,1)的关键字进行比较:

① 若R[j]的关键字大于R[i]的关键字,则将R[j]后移一个位置;

②若R[j]的关键字小于或等于R[i]的关键字,则查找过程结束,j+1即为R[i]的插入位置。

关键字比R[i]的关键字大的记录均已后移,所以j+1的位置已经腾空,只要将R[i]直接插入此位置即可完成一趟直接插入排序。

  • 怎么查自己学生票区间
  • 如何使用c语言的布尔值
  • 12306如何查询学生票优惠次数还有多少
  • 如何正确认识货币资金项目?
  • 石坑崆旅游攻略
  • 热门搜索
    打印机ip地址怎么改 惠存是什么意思 如何下载电视剧到u盘 如何修改路由器密码 如何让鼻梁变高 个体工商户如何纳税 如何打造团队凝聚力 t是什么意思 大便颗粒状怎么回事 苯并芘怎么读