arraylist排序算法有哪几种
ArrayList的排序算法有以下几种:
1. 冒泡排序(Bubble Sort):顺次比较相邻的元素,如果顺序毛病则交换位置,直到全部数组有序为止。
2. 选择排序(Selection Sort):每次从未排序的部份当选择最小的元素,放到已排序的部份的末尾,直到全部数组有序为止。
3. 插入排序(Insertion Sort):将未排序的元素逐一插入已排序的部份中的正确位置,直到全部数组有序为止。
4. 快速排序(Quick Sort):选择一个基准元素,将数组分为两部份,左侧的元素都小于等于基准,右侧的元素都大于等于基准,然后对左右两个部份递归地进行快速排序。
5. 归并排序(Merge Sort):将数组分为两个部份,分别对这两个部份进行排序,然后将排序好的两个部份合并起来。
6. 堆排序(Heap Sort):将数组构建成一个最大堆或最小堆,然后将堆顶的元素和最后一个元素交换,再将剩余的部份重新构建堆,重复这个进程直到全部数组有序。
7. 希尔排序(Shell Sort):将数组按一定的间隔分组,对每组进行插入排序,然后逐步缩小间隔,直到间隔为1,最落后行一次完全的插入排序。
这些排序算法可以通过ArrayList的sort()方法进行调用,其中默许使用的是快速排序算法。如果需要使用其他排序算法,可以通过传入Comparator参数来指定。
TOP