文章目录
前言
- 排序的基本概念
- 数据结构稳定排序
- 数据结构不稳定排序
- 排序的种类
- 排序的代码
- 直接插入排序算法
一、排序的基本概念
1. 排序的定义
- 定义:将数据表调整为按关键字从小到大或从大到小的次序排列的过程
- 排序的分类:增排序,减排序,内部排序,外部排序
- 稳定排序:在排序过程中,如果关键字相同的两个元素的相对次序不变,则称为稳定的排序
- 不稳定的排序:当相同的关键字的领先关系在排序过程中不发生变化者,则称所用的排序方法是不稳定的
- 算法的稳定性:排序中两个元素相等,排序后位置不发生变化说明算法稳定,主要是对算法性质的描述,不能衡量算法优劣
- 内部算法通常进行:比较+移动,基数排序不是基于比较的
2. 排序的分类
1) 稳定排序
插入排序、冒泡排序、归并排序、基数排序
2) 不稳定排序
选择排序、快速排序、希尔排序、堆排序
二、插入排序
基本思想:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中,直到全部记录插入完成,每次插入便又多一个元素排好相对顺序