泛型的排序有3種方法,分別是:
1、list.sort(),只能在集合元素實現了icomparable泛型介面時使用
2、list.sort(comparison),comparison是乙個方法委託,它帶有2個引數t,返回int型別,可以靈活指定如何排序,但是需要編碼時手動指定如何排序;
3、list.sort(icomparer),使用實現了icomparer介面的類給集合排序,可以靈活指定如何排序,但是需預先定義好類的排序方法
這裡介紹第二種方法:
首先定義乙個類,用作集合的元素
using system;
using system.collections.generic;
///
/// 學生類
///
public class student
set
} private int age;
// 年齡
public int age
set
} private string grade;
// 年級
public string grade
set
} //建構函式
public student(string name, int age, string grade)
public override string tostring() }
下面就開始排序了:
using system;
using system.collections.generic;
public class test
);
// 迴圈顯示集合裡的元素
foreach( student item in arr)
console.writeline(item.tostring());
// 呼叫sort方法,傳入乙個匿名方法,實現按姓名排序
arr.sort(delegate(student x, student y) );
// 迴圈顯示集合裡的元素
foreach( student item in arr)
console.writeline(item.tostring()); }}
C sort函式使用總結
標頭檔案 algorithm 對於 整數 字元 陣列進行比較時,可直接通過sort a,a n 或sort a.begin a.end 進行排序,預設公升序排列,須要高速實現降序時,有三種方案 1.反轉公升序陣列 reserve函式 2.反向迭代sort a.rend a.rbegin 3.借助c ...
c sort函式的使用
需要標頭檔案 語法描述 sort begin,end,cmp cmp引數可以沒有,如果沒有預設非降序排序。1.以int為例的基本資料型別的sort使用 include include includeusing namespace std int main 預設公升序 sort a,a 5 for i...
C sort排序的使用
sort的兩種函式形式 void sort randomaccessiterator first,randomaccessiterator last void sort randomaccessiterator first,randomaccessiterator last,compare comp...