1.常见算法
点击查看代码
* 冒泡排序:重复数列,一次比较两个元素,如果顺序错误就交换
* 选择排序:每次选择未排序的部分最大或最小元素,放到已排序末尾
* 插入排序:将未排序的元素逐个插入到已排序部分的合适位置
* 快速排序:选择一个基准元素,将小于的放左边,大的放右边,再对左右递归进行快排
* 归并排序:将数组分成两半,对每一半进行递归归并排序,再将两个有序的子数组合并成一个有序数组。
* 希尔排序:将数组划分成若干个间隔相等的子序列,对每个子序列进行插入排序,随着间隔逐步减少,直至间隔为1,最终对整个数组进行插入排序,使得整个数组基本有序。
* 堆排序:将数组构建成最大堆,然后将堆顶元素和最后一个元素交换并重新调整堆,直到所有元素都排好序。
* 桶排序:将元素分配到有限数量的桶中,对桶中每个元素进行排序,然后按照顺序将桶中元素输出。