排序是计算机程序设计中的一种重要操作,他的功能是将一个数据元素(或记录)的任意序列,重新排列一个按关键字有序的序列。
内部排序
等待排序的记录存放在计算机随机存储器中进行排序的过程
外部排序
等待排序的记录数量很大,以至内存一次不能容纳全部记录,在排序的过程中还需要对外存进行访问的排序过程,
稳定的排序的算法
按照关键字判断两个数据元素或记录是“相等”的,这两个“相等”元素在排序前后的相对位置不变的排序算法是稳定的。
不稳定的排序算法
按照关键字判断两个数据元素或记录是“相等”的,这两个“相等”元素在排序前后的相对位置发生改变的排序算法是不稳定的。
排序的分类
按照排序过程中所依据的不同原则,进行分类大致可以分为以下几类:
- 插入排序
- 交换排序
- 选择排序
- 归并排序
- 计数排序
基本操作
- 比较两个关键字的大小
- 将记录从一个位置移动到另外一个位置