一、方法概述
自定義比較器需要實現介面icomparer
二、示例過程
1、新建乙個product產品類
///2、新建乙個product物件並賦值///產品類
/// public
class
product
//////
**
/// public double price
//////
編號
/// public
int num
}
listproducts = new list();3、建立比較器products.add(
new product() );
products.add(
new product() );
products.add(
new product() );
products.add(
new product() );
(1) 產品**比較器:
///(2) 產品名稱比較器:///產品**比較器
/// public
class productpricecomparer : icomparer
}
///(3) 產品編號比較器:///產品名稱比較器
/// public
class productnamecomparer : icomparer
}
///4、列印輸出結果的方法///產品編號比較器
/// public
class productnumcomparer : icomparer
}
///5、通過比較器排序並列印出結果///列印結果
/// ///
public
static
void printresult(listproducts)
,price:,num:");
}console.writeline(
"列印完畢");
console.writeline(
"----------分割線----------------------");
}
products.sort(new6、輸出結果productnamecomparer());
console.writeline(
"根據名稱排序:");
printresult(products);
products.sort(
newproductnumcomparer());
console.writeline(
"根據編號排序:");
printresult(products);
products.sort(
newproductpricecomparer());
console.writeline(
"根據**排序:");
printresult(products);
list 自定義比較器進行排序
今天在研究list集合如何排序,我試過很多,但是都不行,然後看到msdn中的這個比較器排序,自己測試了 no problem.給大家分享一下。型別 t 的預設比較器按如下方式確定。如果型別 t 實現 icomparable泛型介面,則預設比較器為該介面的 compareto t 方法 否則,如果型別...
STL自定義比較器
struct person 自定義的比較器 struct comparebyage sort vec.begin vec.end comparebyage 排序傳入我們自定義的比較器map內部的實現使用的是樹,不能夠直接排序,我們可以將其放在乙個vector中,然後自定義乙個比較器去排序 map m...
STL 自定義比較器
說明 採用sort函式舉例 sort函式能夠接收2個形參 stl中的絕大多數用於查詢 排序的函式的前2個引數基本上都是乙個範圍 first,last 第3個引數一般是乙個比較器仿函式 即 設定大小比較原則compare 下面介紹5種常見的比較器定義手段 自定義普通比較器函式cmp include i...