c++set容器完全攻略

一、創建set容器

使用set容器需要包含頭文件 #include,創建一個空的set容器十分簡單:

std::set mySet;

以上代碼已經創建了一個空的set容器,可以開始往裡面添加元素。

二、set容器元素的添加與刪除

set容器內的元素都是唯一的、且按照一定的規則進行排序的。set容器的元素插入和刪除非常簡單。

元素的插入可以通過insert函數實現:

std::set mySet;
mySet.insert(1);
mySet.insert(2);
mySet.insert(3);

元素的刪除可以通過erase函數實現,其中包含一個參數表示要刪除的元素,如果沒有該元素,則不進行任何操作:

mySet.erase(2);

三、set容器的遍歷

set容器自帶排序,可以直接進行遍歷。

使用auto關鍵字也可以快速遍歷所有元素,例如:

std::set mySet{1, 5, 3, 2, 4};

for (auto i : mySet) {
    std::cout << i << " ";
}
// 列印結果:1 2 3 4 5

四、set容器的查找

set容器提供了find函數用於查找元素,如果找到則返回該元素的迭代器,否則返回end()迭代器。

std::set mySet{1, 5, 3, 2, 4};

auto iterator = mySet.find(3);
if (iterator != mySet.end()) {
    std::cout << "3 exists in mySet" << std::endl;
}

五、set容器的特性與應用

set容器只存儲唯一的元素,可以用於去重。同時set容器也自帶排序功能,可以用於排序操作。

例如,可以使用set容器對字元串進行去重操作:

std::set mySet{"apple", "banana", "grape", "apple"};
for (auto i : mySet) {
    std::cout << i << " ";
}
// 列印結果:apple banana grape

set容器也可以用於查找一組元素是否包含在另一組元素中,例如判斷兩個字元串是否包含相同的字母:

std::set strSet1{'a', 'b', 'c', 'd'};
std::set strSet2{'c', 'b', 'd', 'a'};

bool isEqual = (strSet1 == strSet2);
std::cout << isEqual;
// 列印結果:1

六、set容器示例代碼

以下是一個完整的set容器示例代碼:

#include 
#include 

int main() {
    std::set mySet{1, 5, 3, 2, 4};

    // 遍歷
    for (auto i : mySet) {
        std::cout << i << " ";
    }
    std::cout << std::endl;

    // 添加元素
    mySet.insert(6);

    // 刪除元素
    mySet.erase(2);

    // 查找元素
    auto iterator = mySet.find(3);
    if (iterator != mySet.end()) {
        std::cout << "3 exists in mySet" << std::endl;
    }

    // 去重過濾重複元素
    std::set myStringSet{"apple", "banana", "grape", "apple"};
    for (auto i : myStringSet) {
        std::cout << i << " ";
    }
    std::cout << std::endl;

    // 判斷兩個set是否相等
    std::set strSet1{'a', 'b', 'c', 'd'};
    std::set strSet2{'c', 'b', 'd', 'a'};

    bool isEqual = (strSet1 == strSet2);
    std::cout << isEqual;

    return 0;
}

原創文章,作者:PYNH,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/136487.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
PYNH的頭像PYNH
上一篇 2024-10-04 00:16
下一篇 2024-10-04 00:16

相關推薦

  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • Python Set元素用法介紹

    Set是Python編程語言中擁有一系列獨特屬性及特點的數據類型之一。它可以存儲無序且唯一的數據元素,這使得Set在數據處理中非常有用。Set能夠進行交、並、差集等操作,也可以用於…

    編程 2025-04-29
  • 解決docker-compose 容器時間和伺服器時間不同步問題

    docker-compose是一種工具,能夠讓您使用YAML文件來定義和運行多個容器。然而,有時候容器的時間與伺服器時間不同步,導致一些不必要的錯誤和麻煩。以下是解決方法的詳細介紹…

    編程 2025-04-29
  • Python set去重保留原順序

    當一個列表中出現重複的元素時,為了去除這些重複元素可以使用Python提供的集合(set)數據結構,集合可以去除元素的重複出現。然而,這樣會導致原有的元素順序混亂,這時,需要使用一…

    編程 2025-04-27
  • Python數據容器切片

    本文將從多個方面詳細闡述Python數據容器切片的應用、技巧和方法。 一、切片的基本操作 Python的數據容器包括字元串、列表、元組、字典等,而切片是對這些容器進行子序列提取的常…

    編程 2025-04-27
  • Docker批量刪除容器詳解

    一、前言 Docker是一個開源的應用容器引擎,提供了一種輕量級容器化技術,方便快捷的進行應用打包、發布、運行。作為廣泛應用的技術之一,Docker是開發、測試、運維的得力助手。但…

    編程 2025-04-25
  • Java Tomcat:Web應用程序的完美容器

    一、淺談Tomcat Tomcat,全稱為Apache Tomcat,是一個免費的、開源的Java Servlet容器,而Java Servlet是一種伺服器端的Java擴展程序,…

    編程 2025-04-25
  • Java 數組轉 Set

    一、Set 和數組的概念 在 Java 中,Set 是一種不允許重複元素的 Collection 集合。和 List 不同,Set 不保證元素的順序。而數組是一種特殊的數據結構,它…

    編程 2025-04-25
  • Python中的set.count

    一、概述 在Python中,set是一種無序、可變的集合類型。set.count方法用於統計set中某個元素出現的次數。它接受一個參數,即要統計出現次數的元素。如果參數元素不在se…

    編程 2025-04-25
  • 深入理解Docker容器和鏡像的關係

    一、Docker容器和鏡像的基本概念 Docker是一種虛擬化容器技術,它可以劃分出多個隔離環境,讓不同的應用程序在同一台機器上運行,而不會相互影響。Docker主要包含兩個基本概…

    編程 2025-04-24

發表回復

登錄後才能評論