第三章 内部排序算法课件.pptVIP

  • 10
  • 0
  • 约8.48千字
  • 约 37页
  • 2017-08-23 发布于广东
  • 举报
第三章 内部排序算法 分类: 内部排序:全部记录都可以同时调入内存进行的排序。 外部排序:文件中的记录太大,无法全部将其同时调入内存进行的排序。 3.1 直接插入排序 直接插入排序 排序过程:整个排序过程为n-1趟插入,即先将序列中第1个记录看成是一个有序子序列,然后从第2个记录开始,逐个进行插入,直至整个序列有序 typedef struct { int key; float info; }JD; void straisort(JD r[],int n) { int i,j; for(i=2;i=n;i++) { r[0]=r[i]; j=i-1; while(r[0].keyr[j].key) { r[j+1]=r[j]; j--; } r[j+1]=r[0]; } } 3.2 希尔排序(缩小增量法) 排序过程:先取一个正整数d1n,把所有相隔d1的记录放一组,组内进行直接插入排序;然后取d2d1,重复上述分组和排序操作;直至di=1,即所有记录放进一个组中排序为止 3.3冒泡排序 排序过程 将第一个记录的关键字与第二个记录的关键字进行比较,若为逆序r[1].keyr[2].key,则交换;然后比较第二个记录与第三个记录;依次类推,直至第n-1个记录和第n个

文档评论(0)

1亿VIP精品文档

相关文档