C List的排序問題

2021-07-04 05:54:38 字數 1011 閱讀 1964

在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...