C 列表List排序的兩種情況

2021-10-05 18:39:30 字數 1115 閱讀 2111

對於普通的int型列表list,如下

list<

int> list =

newlist

<

int>()

;list.

sort()

;// 公升序排序

list.

reverse()

;// 降序排序:先公升序排序,再反轉順序

對於class型的列表list,根據類的某一屬性進行排序,如下

//使用lambda表示式,在前面加個負號就是降序了       

public

class

workinfo

list m_testlist =

newlist

<

workinfo

>()

; m_testlist.

sort

((x, y)

=> x.m_workid.

compareto

(y.m_workid));

//公升序排序

m_testlist.

sort

((x, y)

=>

-x.m_workid.

compareto

(y.m_workid));

//降序排序

如果是這種情況:

dictionary<

int,workinfo> dict =

newdictionary

<

int,

workinfo

>()

; list<

int> testlist =

newlist

<

int>()

; testlist.

sort

((x, y)

=> dict[x]

.m_workid.

compareto

(dict[x]

.m_workid));

//公升序排序 =》 這樣通過id去找到物件,比較物件裡的m_workid值排序,這樣的做法是沒有用的

List排序的兩種實現方法

利用collections.sort方法可以對列表進行排序collections有兩個sort方法 1.sort listlist 2.sort listlist comparator c 方法一 只需要傳入乙個list即可,但是該list中的元素需要實現comparable介面,覆蓋compare...

關於C 兩種排序

學習了選擇排序與氣泡排序後,以我目前的水平認為,選擇排序和氣泡排序的結果上,其實都是將整數型或浮點型的數排成有序數列的演算法,即將數從大到小或從小到大排列。但是,它們使數排成有序數列的過程,是有不同的,於是我就有個疑問,它們實現排序的效率有何不同呢。以下分別是是關於選擇排序與氣泡排序的 選擇排序 i...

列表操作及兩種排序演算法

1.獲取元素 列表名 索引 list1 n 2.修改元素 列表名 索引 值 list1 n m 3.列表組合 list1 list2 list3 4.列表元素的重複 list1 n 5.in not in 6.切片 列表名 start end step 7.增追加多個元素,會將整個容器作為整體新增到...