Java十大经典排序算法汇总

以下是十大经典排序算法:

冒泡排序(Bubble Sort):比较相邻两个元素,如果逆序则交换,重复多轮,直到无逆序情况。

选择排序(Selection Sort):在待排序元素中选择最小(大)元素,放在已排序序列的起始位置,重复多轮,直到所有元素有序。

插入排序(Insertion Sort):从第二个元素开始,将每个元素插入到已排序序列中的合适位置,重复多轮,直到所有元素有序。

希尔排序(Shell Sort):将待排序序列分割成若干子序列,分别进行插入排序,重复多轮,直到所有元素有序。

归并排序(Merge Sort):将待排序序列分成若干子序列,对每个子序列进行归并排序,将有序的子序列合并成一个有序序列,重复多轮,直到所有元素有序。

快速排序(Quick Sort):从序列中选择一个枢轴元素,将序列分成两部分,小于等于枢轴元素的放在左边,大于枢轴元素的放在右边,对左右两部分分别递归进行快排,重复多轮,直到所有元素有序。

堆排序(Heap Sort):将待排序序列构造成一个大根堆,将堆顶元素(最大值)与末尾元素交换,重复多轮,直到所有元素有序。

计数排序(Counting Sort):根据待排序序列中每个元素出现的次数,计算小于等于每个元素的元素个数,从后往前遍历待排序序列,将每个元素放在相应位置,重复一轮,直到所有元素有序。

桶排序(Bucket Sort):将待排序序列分到有限数量的桶中,每个桶单独排序,最后将所有桶的元素按照顺序合并成一个序列,重复多轮,直到所有元素有序。

基数排序(Radix Sort):将待排序元素按位数切割成不同的数字,然后按每个位数分别进行排序,重复多轮,直到所有元素有序。

以上排序算法各有优缺点,不同场景下应选择不同的算法来实现排序。

posted @   可爱的小锋  阅读(155)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示