排序:将杂乱无章的数据元素,通过一定的方法按关键字顺序排列的过程
排序算法的稳定性:假定在一组数据元素中,存在多个关键字相同的数据元素,在经过排序后,这些元素的相对次序保持不变,则称这种排序算法是稳定的,否则称为不稳定的。
排序的分类:插入排序、选择排序、交换排序、归并排序和分配排序。
- 插入排序的基本思想:每次将一个带排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当位置,直到全部记录插入完成为止。
- 交换排序的基本思想:两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。
- 选择排序的基本思想:
- 归并排序的基本思想:
- 分配排序的基本思想:
排序的储存方式:
以 顺序表作为存储结构
以链表作为存储结构
- 用顺序表存储带排序记录,同时建立辅助表(包含关键字和指向记录位置的指针组成的索引表)
排序算法性能评价
哨兵的作用
- 进入查找循环之前,保存进入循环的副本,使不至于因记录后移而丢失内容。
- 主要作用用来判断下标变量J是否越界
- 用于简化边界条件而引入的附加结点均可称为哨兵。