談談map中的count方法


map和set兩種容器的底層結構都是紅黑樹,所以容器中不會出現相同的元素,因此count()的結果只能為0和1,可以以此來判斷鍵值元素是否存在(當然也可以使用find()方法判斷鍵值是否存在)。

拿map<key,value>舉例,find()方法返回值是一個迭代器,成功返回迭代器指向要查找的元素,失敗返回的迭代器指向end。count()方法返回值是一個整數,1表示有這個元素,0表示沒有這個元素。

#include<iostream>
#include<map>
#include<string>
using namespace std;

int main()
{
    map<int,string>maps;
    if(maps.find(1)==maps.end())
    {
        cout<<"沒有1這個元素"<<endl;
    }
    if(maps.count(1)==0)
    {
        cout<<"沒有1這個元素"<<endl;
    }
    //添加元素1
    maps[1]="one";

    if(maps.find(1)!=maps.end())
    {
        cout<<"有1這個元素"<<endl;
    }
    if(maps.count(1))
    {
        cout<<"有1這個元素"<<endl;
    }
    return 0;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM