c++ set 用法

发布时间:2024年01月16日

<set> 是 C++ 标准库中的头文件,提供了用于实现集合的模板类 std::setstd::set 是一个有序的集合,其中的元素是唯一的,且按升序排序。

以下是 <set> 头文件中 std::set 提供的一些主要功能和用法:

  1. 插入元素:
    • insert(val): 向集合中插入值为?val?的元素。
      #include <set>
      #include <iostream>
      
      int main() {
      ? ? std::set<int> mySet;
      
      ? ? mySet.insert(3);
      ? ? mySet.insert(1);
      ? ? mySet.insert(4);
      
      ? ? for (int val : mySet) {
      ? ? ? ? std::cout << val << " ";
      ? ? }
      
      ? ? return 0;
      }
      

      输出:

       

      1 3 4

    • 删除元素:
      • erase(val): 从集合中删除值为?val?的元素。
        #include <set>
        #include <iostream>
        
        int main() {
            std::set<int> mySet;
        
            mySet.insert(3);
            mySet.insert(1);
            mySet.insert(4);
        
            mySet.erase(1);
        
            for (int val : mySet) {
                std::cout << val << " ";
            }
        
            return 0;
        }
        

        输出:

         

        3 4

    • 查找元素:find(val): 查找值为?val?的元素,返回指向该元素的迭代器;如果没有找到,返回?end()
      #include <set>
      #include <iostream>
      
      int main() {
          std::set<int> mySet;
      
          mySet.insert(3);
          mySet.insert(1);
          mySet.insert(4);
      
          auto it = mySet.find(1);
          if (it != mySet.end()) {
              std::cout << "Element found: " << *it << std::endl;
          } else {
              std::cout << "Element not found." << std::endl;
          }
      
          return 0;
      }
      

      输出:

       

      Element found: 1

    • 迭代:

      #include <set>
      #include <iostream>
      
      int main() {
          std::set<int> mySet;
      
          mySet.insert(3);
          mySet.insert(1);
          mySet.insert(4);
      
          for (auto it = mySet.begin(); it != mySet.end(); ++it) {
              std::cout << *it << " ";
          }
      
          return 0;
      }
      
      begin(),?end(): 返回指向集合起始和结束的迭代器,可用于遍历集合的所有元素。

      输出:

       1 3 4
文章来源:https://blog.csdn.net/weixin_51627045/article/details/135548580
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。