當前位置:編程學習大全網 - 源碼下載 - 用Java中ArrayList類實現壹個冒泡排序

用Java中ArrayList類實現壹個冒泡排序

java.util.Collections類中有

sort

public static <T extends Comparable<? super T>> void sort(List<T> list)根據元素的自然順序 對指定列表按升序進行排序。列表中的所有元素都必須實現 Comparable 接口。此外,列表中的所有元素都必須是可相互比較的(也就是說,對於列表中的任何 e1 和 e2 元素,e1.compareTo(e2) 不得拋出 ClassCastException)。

此排序方法具有穩定性:不會因調用 sort 方法而對相等的元素進行重新排序。

指定列表必須是可修改的,但不必是大小可調整的。

該排序算法是壹個經過修改的合並排序算法(其中,如果低子列表中的最高元素小於高子列表中的最低元素,則忽略合並)。此算法提供可保證的 n log(n) 性能。 此實現將指定列表轉儲到壹個數組中,並對數組進行排序,在重置數組中相應位置處每個元素的列表上進行叠代。這避免了由於試圖原地對鏈接列表進行排序而產生的 n2 log(n) 性能。

參數:

list - 要排序的列表。

拋出:

ClassCastException - 如果列表包含不可相互比較 的元素(例如,字符串和整數)。

UnsupportedOperationException - 如果指定列表的列表叠代器不支持 set 操作。

另請參見:

Comparable

--------------------------------------------------------------------------------

sort

public static <T> void sort(List<T> list,

Comparator<? super T> c)根據指定比較器產生的順序對指定列表進行排序。此列表內的所有元素都必須可使用指定比較器相互比較(也就是說,對於列表中的任意 e1 和 e2 元素,c.compare(e1, e2) 不得拋出 ClassCastException)。

此排序被保證是穩定的:不會因調用 sort 而對相等的元素進行重新排序。

排序算法是壹個經過修改的合並排序算法(其中,如果低子列表中的最高元素小於高子列表中的最低元素,則忽略合並)。此算法提供可保證的 n log(n) 性能。 指定列表必須是可修改的,但不必是可大小調整的。此實現將指定列表轉儲到壹個數組中,並對數組進行排序,在重置數組中相應位置每個元素的列表上進行叠代。這避免了由於試圖原地對鏈接列表進行排序而產生的 n2 log(n) 性能。

參數:

list - 要排序的列表。

c - 確定列表順序的比較器。null 值指示應該使用元素的自然順序。

拋出:

ClassCastException - 如果列表中包含不可使用指定比較器相互比較 的元素。

UnsupportedOperationException - 如果指定列表的列表叠代器不支持 set 操作。

另請參見:

Comparator

  • 上一篇:求CLPI格式還有BDMV格式文件播放器
  • 下一篇:如何用VB做聊天工具
  • copyright 2024編程學習大全網