# 排序算法 * **引言** > 排序是数据处理中十分常见且核心的操作,虽说实际项目开发中很小几率会需要我们手动实现,各种集成的api已经帮我们省略了思考如何构建排序的时间,但如果我们从原理上出发,了解它们的实现机制,对我们学习算法还是十分有好处的。 * **排序分类** > 八大排序算法均属于内部排序。如果按照策略来分类,大致可分为:交换排序、插入排序、选择排序、归并排序和基数排序。如下图所示: ![分类](.\img\分类.png) * **总结** ![总结](.\img\总结.png) * 关键词 * 冒泡排序 * 形如冒水泡(大数) * 快速排序 * 归位(关于某值对称的数组) * 递归 * 直接插入排序 * 扫描位置(指插入的位置) * 希尔排序 * (优化)插入排序(缩小增量排序) * 简单选择排序 * 扫描一遍(获取最小数) * 对调位置 * 堆排序 * 建堆 * 交换值并向下调整 * 归并排序 * 将两个数组排有序 * 将两个数组归并到一起 * 基数排序 * 百数之内的排序