在c#中,可以list來代替c++中vector。
對於list的排序,需要使用到sort()方法,為了讓排序方式按照我們自己的想法進行,
可以通過icomparable介面重寫compareto方法來實現。
例子:有乙個包含人名,年齡等資訊的list,我們需要根據年齡做從大到小或者從小到大的排序,做法如下:
publicclass
myinfo:icomparable
//定義myinfo類,並繼承icomparable
elseif(this.age.compareto(obj.age)<0)//從小到大排序,如需要從大到小則用》即可
else
return iresult;}}
呼叫部分:
list
mystr=newlist
();
intagearray=newint;
string names=newstring;
for(inti=0;i<10;i++)//在list中放入10個資料
for(inti=0;i<10;i++)//顯示一下排序前的效果
lblog.items.add("現在進行排序......");
mystr.sort();
for(inti=0;i<10;i++)//顯示一下排序後的效果
執行結果:
c list (合併及排序)
c list 的合併及排序 c list 合併是將兩個鍊錶合併成乙個,並且將其有序排列起來。思路相當簡單,將兩個鍊錶連線起來,然後將這個鍊錶排序就好了。主要的是鍊錶的排序 void sort list node head,int n 思路 類似於選擇排序的方法,先找到鍊錶中最大的節點,記錄下這個節點...
C list 解決約瑟夫問題
約瑟夫問題所述 猴子選王 有n只猴子,按順時針方向圍成一圈選大王 編號為1 n 從第一號開始報數,一直數到m,數到m的猴子退出圈外,剩下的猴子再接著從1開始報數,就這樣,直到圈中只剩下乙隻猴子時,這個猴子就是猴王。程式設計輸入n,m後,輸出最後猴王的編號。輸入樣例 6 2 12 4 8 30 0 輸...
c list排序的三種實現方式
摘自 用了一段時間的gridview,對gridview實現的排序功能比較好奇,而且利用c 自帶的排序方法只能對某乙個字段進行排序,今天demo了一下,總結了三種對list排序的方法,並實現動態傳遞欄位名對list進行排序。首先先介紹一下平時最常用的幾種排序方法。第一種 實體類實現icomparab...