1. 排序的概念及应用
1.1 排序的概念
排序是指将一串记录按照某个或某些关键字的大小,递增或递减排列起来的操作。
稳定性:若待排序序列中存在多个相同关键字的记录,排序后它们的相对次序保持不变,则称该算法是稳定的;否则为不稳定。

内部排序:数据元素全部放在内存中进行排序。 外部排序:数据量过大无法全部放入内存,需借助外存辅助的排序方式。
1.2 常见的排序算法

2. 常见排序算法的实现 (默认排升序)
2.1 插入排序
2.1.1 基本思想
直接插入排序是一种简单的插入排序法。其核心思想是将待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有记录插入完毕。
实际生活中玩扑克牌时,整理手牌的过程就是典型的插入排序思想。

2.1.2 直接插入排序
当插入第 i 个元素时,前面的 array[0] 到 array[i-1] 已经排好序。此时用 array[i] 的关键码与前面已排序的元素顺序比较,找到合适位置插入,原位置上的元素依次后移。

具体实现逻辑
- 思路梳理:外层循环从索引 1 开始遍历数组。内层循环负责在已排序区间
[0, i-1]中寻找插入位置。 - 变量定义:使用
tmp保存当前待插入元素array[i]。内层循环变量j初始化为i - 1。 - 比较移动:在
j >= 0的前提下,若array[j] > tmp,则将array[j]后移至array[j+1]。若array[j] <= tmp,说明找到了插入位置,跳出循环。 - 赋值:循环结束后,将 赋值给 。




