排序规则定义与推论
规则定义
在排序过程中,比较两个元素 a 和 b 的相对位置时,遵循以下规则:
- 如果
a - b < 0,则a排在b前面(实现递增排序)。 - 如果
a - b > 0,则a排在b后面。 - 如果
a - b == 0,则a和b的顺序保持不变。
推论
为了避免直接比较 a 和 b 的大小关系(容易绕晕),可以转换为比较“左”和“右”的相对位置关系:
- 左 - 右 < 0:最终位置“左”在前,无需调换位置。
- 左 - 右 > 0:最终位置“右”在前,需要调换位置。
(注意:调换位置后,原来的“左”变为“右”,原来的“右”变为“左”。)
关键点:
无论是否调换位置,最终结果一定满足 左 < 右(递增顺序)。
递减排序的推论
如果要实现递减排序,比较逻辑改为 b - a(即“右 - 左”):
- 如果
右 - 左 < 0,最终“右”在前,无需调换位置。 - 如果
右 - 左 > 0,最终“左”在前,需要调换位置。
最终结果满足 右 < 左(递减顺序)。
统一记忆方法
无论比较的是“左 - 右”还是“右 - 左”,小于 0 时位置关系不变。根据这一基准:
- 左 - 右 < 0 → 左 < 右(递增)。
- 右 - 左 < 0 → 右 < 左(递减)。