范文无忧网公文文书入党入团

数据结构顺序表索引表:求该题的编程和基本思想

01月17日 编辑 fanwen51.com

[施工合同文件解释顺序]建设工程施工合同(示范文本)通用条款 2、合同文件及解释顺序 2.1合同文件应能相互解释, 互为说明。除专用条款另有约定外,组成本合同的文件及优先解释顺序如下: (1)本合同协议书 (2)...+阅读

有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。在最好的情况下,原数据已经有序,新加入一个元素使序列仍然有序,或是直接重新排序,此时的时间复杂度为O(n)。

插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才有插入的位置),而第二部分就只包含这一个元素(即待插入元素)。在第一部分排序完成后,再将这个最后元素插入到已排好序的第一部分中。

插入排序的基本思想是:每步将一个待排序的纪录,按其关键码值的大小插入前面已经排序的文件中适当位置上,直到全部插入完为止。

直接插入排序

直接插入排序是一种简单的插入排序法,其基本思想是:把待排序的纪录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的纪录插入完为止,得到一个新的有序序列。[1]

例如,已知待排序的一组纪录是:

60,71,49,11,24,3,66

假设在排序过程中,前3个纪录已按关键码值递增的次序重新排列,构成一个有序序列:

49,60,71

将待排序纪录中的第4个纪录(即11)插入上述有序序列,以得到一个新的含4个纪录的有序序列。首先,应找到11的插入位置,再进行插入。可以讲11放入数组的第一个单元r[0]中,这个单元称为监视哨,然后从71起从右到左查找,11小于71,将71右移一个位置,11小于60,又将60右移一个位置,11小于49,又再将49右移一个位置,这时再将11与r[0]的值比较,11≥r[0],它的插入位置就是r[1]。假设11大于第一个值r[1]。它的插入位置应该在r[1]和r[2]之间,由于60已经右移了,留出来的位置正好留给11.后面的纪录依照同样的方法逐个插入到该有序序列中。若纪录数n,续进行n-1趟排序,才能完成。

直接插入排序的算法思路:

(1) 设置监视哨r[0],将待插入纪录的值赋值给r[0];

(2) 设置开始查找的位置j;

(3) 在数组中进行搜索,搜索中将第j个纪录后移,直至r[0].key≥r[j].key为止;

(4) 将r[0]插入r[j+1]的位置上。

直接插入排序算法:

public void zjinsert (Redtype r[],int n)

{

int I,j;

Redtype temp;

for (i=1;i{

temp = r[i];

j=i-1;

while (j>-1 &temp.key{

r[j+1]=r[j];

j--;

}

r[j+1]=temp;

}

}

延伸阅读:

专项施工方案施组风险评估的先后顺序应该是怎样的1、专项施工方案和施工方案的侧重点、针对性不同,专项施工方案是重点对施工难点、危险风险大而编制的特殊方案,是对施工方案的进一步细化,更有可操作性和针对性。 2、施工方案...

施工合同文件的组成及解释顺序是什么建设工程施工合同(示范文本)通用条款 2、合同文件及解释顺序 2.1合同文件应能相互解释, 互为说明。除专用条款另有约定外,组成本合同的文件及优先解释顺序如下: (1)本合同协议书...

作品中作者的署名顺序和署名位置怎样得到著作权法律保护我国著作权法第10条规定,署名权是指表明作者身份,在作品上署名的权利。署名权是作者享有的最重要的精神权利。在社会生活中,随着人们对著作权的日益重视,出现了各种需要解决的署...

介绍他人的礼仪顺序介绍他人,又称第三者介绍,是经第三者为彼此不相识的双方引见、介绍的一种交际方式。介绍他人通常是双向的,即对被介绍者双方各自作一番介绍。有时,也需要进行单向的介绍他人,即只...

推荐阅读
图文推荐
栏目列表