Java中常見的排序算法包括以下幾種:
1.冒泡排序(Bubble Sort):從頭到尾依次比較相鄰的兩個數(shù),將較大的數(shù)往后移,一次遍歷可以將一個數(shù)移動到它應(yīng)該在的位置,最后得到有序序列。
2.選擇排序(Selection Sort):每次遍歷選擇最小的數(shù),放到前面已排序部分的末尾。
3.插入排序(Insertion Sort):從未排序的數(shù)列中取出一個數(shù),在已排序序列中從后往前掃描,將大于該數(shù)的數(shù)往后移一位,直到找到該數(shù)的位置,將該數(shù)插入到相應(yīng)的位置。
4.快速排序(Quick Sort):通過一趟排序?qū)⒋庞涗浄指畛瑟毩⒌膬刹糠郑渲幸徊糠钟涗浀年P(guān)鍵字均比另一部分記錄的關(guān)鍵字小,然后遞歸地對兩部分記錄繼續(xù)進(jìn)行排序,直到整個序列有序。
5.歸并排序(Merge Sort):將序列遞歸地分成兩半,對每個子序列進(jìn)行排序,然后將兩個子序列歸并成一個有序序列。
6.希爾排序(Shell Sort):對插入排序的改進(jìn),將待排序序列分割成若干子序列分別進(jìn)行插入排序,通過縮小增量的方式逐步將子序列合并成一個有序序列。
7.堆排序(Heap Sort):將待排序序列構(gòu)建成一個大根堆或小根堆,依次將堆頂元素和堆底元素交換,然后重新調(diào)整堆結(jié)構(gòu),得到有序序列。
8.計數(shù)排序(Counting Sort):統(tǒng)計待排序序列中每個元素出現(xiàn)的次數(shù),根據(jù)元素出現(xiàn)次數(shù)進(jìn)行排序。
9.桶排序(Bucket Sort):將待排序序列分配到若干個桶中,對每個桶中的元素進(jìn)行排序,最后按順序遍歷所有桶,得到有序序列。
10.基數(shù)排序(Radix Sort):按照元素的位數(shù),從低位到高位依次進(jìn)行排序,每一次排序按照指定位數(shù)上的數(shù)字進(jìn)行桶排序,最后得到有序序列。
以上是Java中常見的排序算法,每個算法都有其特點和適用場景,選擇合適的算法可以提高排序的效率。