c++關於map的find和count的使用


編程的時候比較常用,今天記錄一下,以后備用。

使用count,返回的是被查找元素的個數。如果有,返回1;否則,返回0。注意,map中不存在相同元素,所以返回值只能是1或0。

使用find,返回的是被查找元素的位置,沒有則返回map.end()。

例子:

 1 #include<string>
 2 #include<cstring>
 3 #include<iostream>
 4 #include<queue>
 5 #include<map>
 6 #include<algorithm>
 7 using namespace std;
 8 int main(){
 9     map<string,int> test;
10     test.insert(make_pair("test1",1));//test["test1"]=1
11     test.insert(make_pair("test2",2));//test["test2"]=2
12     map<string,int>::iterator it;
13     it=test.find("test0");
14     cout<<"test0 find:";
15     if(it==test.end()){
16         cout<<"test0 not found"<<endl;
17     }
18     else{
19         cout<<it->second<<endl;
20     }
21     cout<<"test0 count:";
22     cout<<test.count("test1")<<endl;
23 
24     cout<<"test1 find:";
25     it=test.find("test1");
26     if(it==test.end()){
27         cout<<"test1 not found"<<endl;
28     }
29     else{
30         cout<<it->second<<endl;
31     }
32     cout<<"test1 count:";
33     cout<<test.count("test1")<<endl;
34 
35     cout<<"after inserting test1"<<endl;
36     test.insert(make_pair("test1",2));
37     cout<<"test1 find:";
38     it=test.find("test1");
39     if(it==test.end()){
40         cout<<"test1 not found"<<endl;
41     }
42     else{
43         cout<<it->second<<endl;
44     }
45     cout<<"test1 count:";
46     cout<<test.count("test1")<<endl;
47     return 0;
48 }

 

運行結果:


免責聲明!

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



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