<p id="g32nn"></p>
    1. <acronym id="g32nn"><strong id="g32nn"></strong></acronym>
      <pre id="g32nn"></pre>

      <table id="g32nn"><option id="g32nn"></option></table>
          當前位置:首頁 > IT技術 > 編程語言 > 正文

          C++vector中如何查找某個元素是否存在?
          2022-09-06 22:38:41

          更普遍的講,我們對于vector內元素的需求不同,因此操作也有差異

          1. std::binary_search
          //先對vector進行排序,再使用二分查找,時間復雜度為O(logn)
          //注意在C++中也有sort函數,與python不同的是,它需要兩個參數,分別是vector的開頭元素,和vector的結尾元素
          sort(v.begin(), v.end());
          //這里的key就是我們要確認是否存在于vector中的元素
          if (std::binary_search(v.begin(), v.end(), key))
          //若存在,返回true;不存在返回false
          
          1. std::find
            該方法優點是,找到目標元素后立即返回,很快!
          #include <iostream>
          #include <vector>
          #include <algorithm>
          
          using std::vector;
          using std::count;
          using std::cout;
          using std::endl;
          
          int main()
          {
          		vector<int> v{ 4, 7, 9, 1, 2, 5 };
          		int key = 2;
          		
          		if (std::find(v.begin(), v.end(), key) != v.end())
          		{
          				cout << "Element found" << endl;
          		}
          		else
          		{
          				cout << "Element NOT found" << endl;
          		}
          		
          		return 0;
          }
          
          
          1. std::cout
            與find相對應,cout是在遍歷所有元素后才返回
            代碼只需要將上述條件語句改為if (count(v.begin(), v.end(), key))即可

          本文摘自 :https://www.cnblogs.com/

          97久久久久人妻精品专区_国产成人精品视频导航_国产色诱视频在线播放网站_97午夜理论电影影院
          <p id="g32nn"></p>
          1. <acronym id="g32nn"><strong id="g32nn"></strong></acronym>
            <pre id="g32nn"></pre>

            <table id="g32nn"><option id="g32nn"></option></table>