希尔排序方法 希尔排序又称为缩小增量排序 在对原始文件排序之前,先取定一个小于文 件中总记录个数n的一个整数作为第一个增量 d1,将文件的记录分成d1个组,所有距离为d1 倍数的记录放在同一个组中,在各组中进行 直接插入排序; 然后再取第二个增量d2d1重复上述分组和 排序,直至增量为1,即所有记录放在同一组 中进行直接插入排序为止
希尔排序方法 • 希尔排序又称为缩小增量排序。 • 在对原始文件排序之前,先取定一个小于文 件中总记录个数n的一个整数作为第一个增量 d1,将文件的记录分成d1个组,所有距离为d1 倍数的记录放在同一个组中,在各组中进行 直接插入排序; • 然后再取第二个增量d2< d1重复上述分组和 排序,直至增量为1,即所有记录放在同一组 中进行直接插入排序为止
交换排序 交换排序是将文件中的待排序记录两两比较 其关键字,若发现两个记录的次序相反即进 行交换,直到没有反序的记录为止。 下面介绍两种交换排序的方法。 冒泡排序 快速排序
交换排序 • 交换排序是将文件中的待排序记录两两比较 其关键字,若发现两个记录的次序相反即进 行交换,直到没有反序的记录为止。 • 下面介绍两种交换排序的方法。 –冒泡排序 –快速排序
冒泡排序 ·设原始文件的记录关键字为57,34,22,94, 13,26。其排序过程如下: 初始关键字 2294 341826 第四迎
冒泡排序 • 设原始文件的记录关键字为57,34,22,94, 13,26。其排序过程如下:
冒泡排序方法 冒泡排序是先将第一个记录的关键字与第二 个记录的关键字进行比较,若为逆序,则交 换位置,否则不动。接着第三个关键字与新 的第二个关键字进行比较,逆序则交换,否 则不变,直到使关键字最大的记录排在最后 个记录位置上为止,第一次排序结束 然后再对前n-1个记录的关键字进行第二次排 序,直到没有记录需要交换为止。 ·整个过程就象“冒气泡”一样,重者在下, 轻者在上,因此称为冒泡排序
冒泡排序方法 • 冒泡排序是先将第一个记录的关键字与第二 个记录的关键字进行比较,若为逆序,则交 换位置,否则不动。接着第三个关键字与新 的第二个关键字进行比较,逆序则交换,否 则不变,直到使关键字最大的记录排在最后 一个记录位置上为止,第一次排序结束。 • 然后再对前n-1个记录的关键字进行第二次排 序,直到没有记录需要交换为止。 • 整个过程就象“冒气泡”一样,重者在下, 轻者在上,因此称为冒泡排序
快速排序 ·设原始文件的记录关键字为49,68,31,43, 56,18,65。其排序过程如下: 似阳八
快速排序 • 设原始文件的记录关键字为49,68,31,43, 56,18,65。其排序过程如下: