map and count

map::count

Visual Studio .NET 2003
0(共 1)对本文的评价是有帮助 评价此主题

Returns the number of elements in a map whose key matches a parameter-specified key.

size_type count(
   const Key& _Key
) const;
Parameter
_Key
The key value of the elements to be matched from the map.
Return Value

1 if the map contains an element whose sort key matches the parameter key; 0 if the map does not contain an element with a matching key.

Remarks

The member function returns the number of elements x in the range

[lower_bound (_Key ), upper_bound (_Key ) )

which is 0 or 1 in the case of map, which is a unique associative container.

Example
// map_count.cpp
// compile with: /EHsc
#include <map>
#include <iostream>

int main( )
{
   using namespace std;
   map <int, int> m1;
   int i;
   typedef pair <int, int> Int_Pair;

   m1.insert ( Int_Pair ( 1, 1 ) );
   m1.insert ( Int_Pair ( 2, 1 ) );
   m1.insert ( Int_Pair ( 1, 4 ) );
   m1.insert ( Int_Pair ( 2, 1 ) );
   
   // Keys must be unique in map, so duplicates are ignored
   i = m1.count( 1 );
   cout << "The number of elements in m1 with a sort key of 1 is: "
        << i << "." << endl;

   i = m1.count( 2 );
   cout << "The number of elements in m1 with a sort key of 2 is: "
        << i << "." << endl;

   i = m1.count( 3 );
   cout << "The number of elements in m1 with a sort key of 3 is: "
        << i << "." << endl;
}
Output
The number of elements in m1 with a sort key of 1 is: 1.
The number of elements in m1 with a sort key of 2 is: 1.
The number of elements in m1 with a sort key of 3 is: 0.
 
     
 
     

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

void main() {  //定义map 对象  map<string,int> word;  //定义指针  map<string,int>::iterator it;  //向word 插入元素 ("a",9)  word.insert (map<string,int>::value_type("a",9));

 //查找 键是"a"的元素,返回指向元素的指针。  it=word.find ("a");  //如果元素不存在,指针指向word.end().  if(it!=word.end ())   cout<<it->second<<endl; //输出元素的值

 //查找 键是"a"的元素,  int result=word.count ("a");  //如果键存在返回1,否则返回0  if(result)   cout<<word["a"]<<endl; //输出元素的值 

 cout<<endl; }

      
      
public member function
<map>

std::map::count

size_type count (const key_type& k) const;
Count elements with a specific key
Searches the container for elements with a key equivalent to k and returns the number of matches.

Because all elements in a map container are unique, the function can only return 1 (if the element is found) or zero (otherwise).

Two keys are considered equivalent if the container's comparison object returns false reflexively (i.e., no matter the order in which the keys are passed as arguments).

Parameters

k
Key to search for.
Member type  key_type is the type of the element keys in the container, defined in  map as an alias of its first template parameter ( Key).

Return value

1 if the container contains an element whose key is equivalent to k, or zero otherwise.

Member type size_type is an unsigned integral type.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// map::count
#include <iostream>
#include <map>

int main ()
{
  std::map<char,int> mymap;
  char c;

  mymap ['a']=101;
  mymap ['c']=202;
  mymap ['f']=303;

  for (c='a'; c<'h'; c++)
  {
    std::cout << c;
    if (mymap.count(c)>0)
      std::cout << " is an element of mymap.\n";
    else 
      std::cout << " is not an element of mymap.\n";
  }

  return 0;
}


Output:
a is an element of mymap.
b is not an element of mymap.
c is an element of mymap.
d is not an element of mymap.
e is not an element of mymap.
f is an element of mymap.
g is not an element of mymap.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值