如果adt需要比較大小,或者要放入collections或arrays進行排序,可實現comparator介面並override compare()函式。
第一種:
構建乙個新的comparator類,重寫compare()函式,在客戶端直接呼叫靜態函式collections.sort(***,新的comparator類)
**示例:
需要比較edge類:
構建乙個新的comparator類edgecomparator:
客戶端實現比較函式時:
第二種方法:
讓adt 實現comparable 介面,然後override compareto() 方法。
與使用comparator的區別:不需要構建新的comparator類,比較**放在adt內部。
**示例:
List排序的兩種方法
方法一 先定義乙個類,並繼承iconparable介面,在類裡面對compareto方法進行重寫。public class sort test icomparable public string name public int compareto object obj else if this.id...
python快速排序 兩種方法
快速排序,稱劃分交換排序 1.通過 趟排序將要排序的資料分割成獨 的兩部分,其中 部分的所有資料都 另外 部分的所有資料都要 2.然後再按此 法對這兩部分資料分別進 快速排序,整個排序過程可以遞迴進 以此達到整個資料變成有序序列。步驟為 從數列中挑出 個元素,稱為 基準 pivot 重新排序數列,所...
python快速排序 兩種方法
快速排序,稱劃分交換排序 1.通過 趟排序將要排序的資料分割成獨 的兩部分,其中 部分的所有資料都 另外 部分的所有資料都要 2.然後再按此 法對這兩部分資料分別進 快速排序,整個排序過程可以遞迴進 以此達到整個資料變成有序序列。步驟為 從數列中挑出 個元素,稱為 基準 pivot 重新排序數列,所...