c++集合set、multiset容器詳解
c++集合set、multiset容器詳解
2.在set中,所有的鍵值對必須具有相同的鍵。例如,給定兩組鍵值對,第一組中鍵值對的鍵和值不同,而第二組中鍵值對的鍵和值相同。set僅能存儲第二組鍵值對,無法存儲第一組。3.由于set僅存儲鍵,而非鍵值對,因此向set中插入數據時,只需提供鍵。比如,要存儲第二組鍵值對,只需提供字符串{";a";.";b";.";c";},set會自動存儲這些鍵。4.Set容器默認根據鍵的自然順序對元素進行排序。由于每個鍵值對的鍵是唯一的,因此排序實際上是對鍵值進行的。5.Set容器的相關函數定義在``頭文件中,屬于std命名空間。使用set前,需包含該頭文件,并使用std命名空間。6.Set的類模板定義如下:```cpp;
導讀2.在set中,所有的鍵值對必須具有相同的鍵。例如,給定兩組鍵值對,第一組中鍵值對的鍵和值不同,而第二組中鍵值對的鍵和值相同。set僅能存儲第二組鍵值對,無法存儲第一組。3.由于set僅存儲鍵,而非鍵值對,因此向set中插入數據時,只需提供鍵。比如,要存儲第二組鍵值對,只需提供字符串{";a";.";b";.";c";},set會自動存儲這些鍵。4.Set容器默認根據鍵的自然順序對元素進行排序。由于每個鍵值對的鍵是唯一的,因此排序實際上是對鍵值進行的。5.Set容器的相關函數定義在``頭文件中,屬于std命名空間。使用set前,需包含該頭文件,并使用std命名空間。6.Set的類模板定義如下:```cpp;
![](https://img.51dongshi.com/20241202/wz/18258562452.jpg)
1. Set和multiset是C++標準庫中的關聯容器,它們存儲的是鍵值對,其中鍵是唯一的,而值則可以相同也可以不同。2. 在set中,所有的鍵值對必須具有相同的鍵。例如,給定兩組鍵值對,第一組中鍵值對的鍵和值不同,而第二組中鍵值對的鍵和值相同。set僅能存儲第二組鍵值對,無法存儲第一組。3. 由于set僅存儲鍵,而非鍵值對,因此向set中插入數據時,只需提供鍵。比如,要存儲第二組鍵值對,只需提供字符串{"a", "b", "c"},set會自動存儲這些鍵。4. Set容器默認根據鍵的自然順序對元素進行排序。由于每個鍵值對的鍵是唯一的,因此排序實際上是對鍵值進行的。5. Set容器的相關函數定義在``頭文件中,屬于std命名空間。使用set前,需包含該頭文件,并使用std命名空間。6. Set的類模板定義如下:```cpptemplate
class set;```其中,T為鍵和值的類型,Compare為比較函數,用于元素排序,Allocator用于內存分配。7. Set提供大小和判空函數,用于檢查容器中元素的數量和是否為空。8. 以下是一個簡單的集合類實現,以及使用學生類Student進行的測試。該集合類派生自set,并實現了并、交、差三種操作:```cpp#include #include #include #include class Student {std::string name;int age;public:Student(const std::string& name, int age) : name(name), age(age) {}bool operator<(const Student& other) const {return name < other.name || (name == other.name && age < other.age);}};class MySet : public std::set {// 派生類中重載比較操作符,實現自定義排序};int main() {MySet students;// 添加雇員功能、顯示功能等...return 0;}```9. 假設公司雇員的信息包括姓名和部門名稱。可以創建一個管理雇員的集合類,該類應包括添加雇員和顯示雇員信息的功能,并要求顯示時先按部門名稱升序,同名部門再按姓名升序排列。
c++集合set、multiset容器詳解
2.在set中,所有的鍵值對必須具有相同的鍵。例如,給定兩組鍵值對,第一組中鍵值對的鍵和值不同,而第二組中鍵值對的鍵和值相同。set僅能存儲第二組鍵值對,無法存儲第一組。3.由于set僅存儲鍵,而非鍵值對,因此向set中插入數據時,只需提供鍵。比如,要存儲第二組鍵值對,只需提供字符串{";a";.";b";.";c";},set會自動存儲這些鍵。4.Set容器默認根據鍵的自然順序對元素進行排序。由于每個鍵值對的鍵是唯一的,因此排序實際上是對鍵值進行的。5.Set容器的相關函數定義在``頭文件中,屬于std命名空間。使用set前,需包含該頭文件,并使用std命名空間。6.Set的類模板定義如下:```cpp;
為你推薦