對自定義類實現排序的四種方法

2021-09-30 09:34:21 字數 1198 閱讀 7861

一、使用linq。

二、使用介面icomparable。

三、使用sort(comparisoncomparison)過載方法。

四、直接使用orderbydescending或orderby方法。

首先定義乙個類 product。

定義如下(兩個屬性name、pirce ):

public class product 

public decimal pirce

public product(string name, decimal price)

public static listgetsampleproducts()//新增成員;}

public override string tostring()//重寫tostring

:", name, pirce);

}}

一、使用linq。

var products = from pr in product.getsampleproducts()

orderby pr.pirce descending//降序

select pr;

foreach (var p in products)

二、使用介面icomparable

product類必須要實現方法int compareto(t other);  

實現如下:

public int compareto(product p)                  

實現了介面方法後,就可以使用sort()方法。使用如下:

var pr=product.getsampleproducts();

pr.sort();

foreach(var p in pr)

三、使用sort(comparisoncomparison)過載方法。

listlist = product.getsampleproducts();

list.sort(

(p1, p2) =>

);foreach (var p in list )

四、直接使用orderbydescending或orderby方法。

listlist = product.getsampleproducts();

foreach (var p in list.orderby(p => p.pirce))

隨機排序四種方法

var arr 1,3,4,6,8,9,7 function foo arr return clonearr 返回排序後的值 for var i 0 i 10 i 原理 因為sort排序方法是通過 函式的返回值來進行排序的,1是公升序,1是降序,而隨機數的取值範圍是0 1,所以我們將隨機數 0.5,...

四種排序演算法PHP實現類

四種排序演算法的php實現 1 插入排序 insertion sort 的基本思想是 每次將乙個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子檔案中的適當位置,直到全部記錄插入完成為止。2 選擇排序 selection sort 的基本思想是 每一趟從待排序的記錄中選出關鍵字最小的記錄,順序放...

Python對列表去重的多種方法 四種方法

開發中對陣列 列表去重是非常常見的需求,對乙個list中的id進行去重,有程式設計客棧下面幾種方法,前面兩種方法不能保證順序,後面兩種方法可以保持原來的順序。下面的 都在python3下測試通過,python2下請自行測試 1.使用set的特型,python的set和其他語言類似,是乙個無序不重複元...