更详细的内容在博文各个常用的排序算法的适用场景详细分析(原地,稳定,最好、最坏、平均时间复杂度)和各个排序算法的实现与优化(含动画演示)中已经进行了详细了讲解,这里是为了方便快速拾起进行的一句话总结
冒泡排序:从前向后依次相邻的两个元素作比较,前比后大则交换,反之无操作
插入排序:从前向后遍历元素,并将遍历到的元素插入前段已遍历元素的合适位置
选择排序:将未排序区间中的最小值放在未排序区间最前,或最大值放在最后
归并排序:将全部元素分为n段,将每段全部元素排序,并将相邻段归并为一段,重复排序归并操作
快速排序:随机选择元素作为分段元素对元素分段,对每一段重复上述分段操作
桶排序:将全部元素均匀地划分到m个桶内,进行桶内排序,要求 : 桶与桶之间有着天然的大小顺序
计数排序:将每个元素的个数存在计数数组c中,再次遍历元素将元素n放在排序数组的--c[n]
位, 要求 : 元素为非负整数
基数排序:针对多位元素组成的元素组合例如字符串,从权重最低位朝权重最高处施行稳定排序 要求 : 每一位的数据范围不能太大,可以用线性排序算法来排序