10-排序-Introduction

来源:互联网 发布:25岁的程序员小张 编辑:程序博客网 时间:2024/05/22 01:49

排序

排序(Sorting)

将数据元素(或记录)的任意序列,重新排列成一个按关键

排序过程中的两种基本操作

(1)比较两个关键字值的大小。
(2)根据比较结果,移动记录的位置

对关键字排序的三个原则

(1)关键字值为数值型的,则按键值大小为依据。
(2)关键字值为ASCII码,则按键值的内码编排顺序为依据。
(3)关键字值为汉字字符串类型,则大多以汉字拼音的字典次序为依据。

排序方法的稳定和不稳定

若对任意的数据元素序列,使用某个排序方法按关键字进行排序,对原先具有相同键值元素间的位置关系,若排序前与排序后保持一致,称此排序方法是稳定的;反之,则称为不稳定的。

例:对数据键值为:5,3,8,366,排序。

   若排序后的序列为:33,5,66,8

   其相同键值的元素位置依旧是 33 前,66 前,与排序前保持一致,则这种排序法是稳定的。

   若排序后的序列为:33,5,66,8

则这种排序法是不稳定的。


待排序记录的三种存储方式

(1)待排序记录存放在地址连续的一组存储单元上。
(2)待排序记录存放在静态链表中。
(3)待排序记录存放在一组地址连续的存储单元,同时另设一个指示各个记录存储位置的地址向量,在排序过程中不移动记录本身,而移动地址向量中这些记录的“地址”,在排序结束后,再按照地址向量中的值调整记录的存储位置。

内排序

整个排序过程都在内存进行的排序称为内排序

外排序

待排序的数据元素量大,以致内存一次不能容纳全部记录,在排序过程中需要对外存进行访问的排序称为外排序。
这里介绍内排序

下转  10--插入排序


0 0
原创粉丝点击