数据结构6(4月28日).pptVIP

  • 5
  • 0
  • 约1.24万字
  • 约 39页
  • 2017-08-19 发布于江西
  • 举报
数据结构6(4月28日).ppt

**直接插入排序 基本思想: 将n个待排序元素看成为一个有序表和一个无序表。开始有序表只有一个元素,无序表中则有n-1个元素。排序过程中每次从无序表中取出第一个元素,将其关键字与有序表的关键字比较,将其插入到适当位置,使之成为新的有序表。 插入步骤: (1)将无序表中的第一个元素存入辅助变量temp中。 (2)将temp和有序表中从最后一个元素开始进行比较,若小于有序表中的元素,则有序表中该元素后移一位,同时继续和前一元素比较。否则插入到该元素的后面。 一趟归并后,有序子文件长度为2,二趟归并后,有序子文件长度为4,因归并的结果在b中,故每次归并完将其复制到a中。重复此过程,直到有序子文件为n,具体算法描述如下 void mergeSort(int a[], int n) { int k=1,b[N];//N为已定义的符号常量,代表线性表的长度 while(kn) { merge(a,k,n,b); k=2*k; for(int i=0;iN;i++) a[i]=b[i]; } } 各种排序方法的比较 2.7.3 归并排序 采用二路归并技术,即每次将数组a中两个相邻的有序序列归并为一个有序序列。 排序步骤: (1)假设待排序文件含有n个记录,则可看成是

文档评论(0)

1亿VIP精品文档

相关文档