中国计量学院数据结构第10章排序学案.ppt

第十章 内部排序;10.1 概述;10.1 概 述;一、何为排序?;二、内部排序和外部排序;三、内部排序的方法; 基于不同的“扩大” 有序序列长度的方法,内部排序大致可分下列几种类型:;1. 插入类;2. 交换类;3. 选择类;4. 归并类; 10. 2 插 入 排 序;有序序列R[1..i-1];(一趟)插入排序分三步走:;直接插入排序(基于顺序查找);一、直接插入排序;void InsertionSort ( SqList L ) { // 对顺序表 L 作直接插入排序。 for ( i=2; i=L.length; ++i ) if (L.r[i].key L.r[i-1].key) { } } // InsertionSort; 因为 R[1..i-1] 是一个有序序列,因此可以利用折半查找在R[1..i-1]中找出R[i]的插入位置。称这种排序为折半插入排序。;void BiInsertionSort ( SqList L ) { } // BiInsertionSort;low = 1; high = i-1; while (low=high) { };三、希尔排序(又称缩小增量排序);将序列分成若干子序列,对每个子序列进行插入排序。;增量为5;增量为3;void ShellInser

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档