c set容器排序準則

2022-08-30 15:09:15 字數 544 閱讀 2323

以下是實驗**:

#include #include 

#include

using

namespace

std;

/*student結構體

*/struct

student ;

/*「仿函式"。為student set指定排序準則

*/class

studentsortcriterion

};

intmain()

else

for(std::set

::iterator it = stuset.begin();it!=stuset.end();it++)

}

上面程式會根據學生id先進行排名然後再根據分數進行排名,排序準則需要滿足以下要求,摘自c++標準庫第二版:

輸出結果:

小明小明

張三李四

C set容器使用

stl的set是乙個二叉排序樹,也稱為集合,其在stl內部實現是紅黑樹,能夠將元素預設從小到大排序或者是字典序排序。如果宣告的元素型別不是基本資料型別而是自定義的類要給它乙個比較器,類似於sort的compare。include include include include using names...

C set 容器使用

g set.cc std c 17 set 容器使用 set 內部是使用紅黑樹實現的,是一種平衡二叉樹,所以對其插入 查詢效率是非常高的,其時間複雜度是log2 n set是stl中一種標準關聯容器。它底層使用平衡的搜尋樹 紅黑樹實現,插入刪除操作時僅僅需要指標操作節點即可完成,不涉及到記憶體移動和...

C set容器 構造和賦值

set基本概念 簡介 所有元素都會自動在插入時自動被排序,set容器也叫集合容器 本質 set multiset屬於關聯式容器,底層結構是用二叉樹排序 set和multiset區別 1.set不允許容器中有重複的元素 2.multiset允許容器中有重複的元素 set構造和賦值 功能描述 建立set...