Java中常用的排序算法包括以下几种:
冒泡排序(Bubble Sort):这是一种简单的排序算法,通过重复地遍历待排序的序列,比较相邻的两个元素,如果它们的顺序错误就把它们交换过来。遍历序列的工作是重复地进行直到没有再需要交换,也就是说该序列已经排序完成。
选择排序(Selection Sort):这种排序算法首先在未排序序列中找到最小(或最大)元素,存放到排序序列的起始位置,然后再从剩余未排序元素中继续寻找最小(或最大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
插入排序(Insertion Sort):这种排序算法将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据。
快速排序(Quick Sort):这种排序算法通过一趟排序将待排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据要小,然后再按此方法对这两部分数据分别进行快速排序,整个过程可以递归进行,以此达到整个数据变成有序序列。
归并排序(Merge Sort):这种排序算法将两个已经排序的序列合并成一个新的有序序列。
希尔排序(Shell Sort):这种排序算法先将整个待排序的记录序列分割成若干个子序列,然后分别对各子序列进行直接插入排序,整个序列呈现出有序状态。
堆排序(Heap Sort):这种排序算法首先将一个无序数组构建成一个大顶堆(或小顶堆),然后将堆顶元素(最大值或最小值)与堆尾元素互换,之后将剩余元素重新调整为大顶堆(或小顶堆),以此类推,直到整个数组有序。
计数排序(Counting Sort):这种排序算法适用于小范围的整数排序,它的工作原理是统计数组中每个元素出现的次数,将其存放到另一个数组中,然后根据存放在数组中的元素值进行排序。
桶排序(Bucket Sort):这种排序算法将待排序的元素分到有限数量的桶子里,对每个桶里的元素进行排序(通常采用更高效的排序算法),然后再从每个桶中取出元素放到一起得到最终的顺序。
基数排序(Radix Sort):这种排序算法从最低位开始,对每一位使用稳定的计数排序算法进行排序。
标签:Sort,java,元素,算法,有序,序列,排序 From: https://blog.51cto.com/u_11365839/9277733