zoukankan      html  css  js  c++  java
  • map

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <map>
     4 #include <utility>
     5 #include <algorithm>//定义pair的头文件
     6 using namespace std;
     7 #define N 5
     8 
     9 map<int,int> m;
    10 
    11 void pm()//map输出函数
    12 {
    13     map<int,int>::iterator i1;
    14     for (i1=m.begin();i1!=m.end();i1++)
    15     {
    16         printf("%d  %d
    ",i1->first,i1->second);
    17     }
    18     printf("
    ");
    19 }
    20 
    21 int main()
    22 {
    23     int i;
    24 
    25     pair<int,string> p(0,"aa");//pair的定义和对象
    26     printf("%d  %s
    ",p.first,p.second.c_str());
    27     pair<int,string> p1(1,"bb");
    28     printf("%d  %s
    ",p1.first,p1.second.c_str());
    29 
    30     for (i=0;i<N;i++)//使用下标插入,若不存在该元素,则会在map中插入
    31     {
    32         m[i]=i;
    33     }
    34     pm();
    35 
    36     for (i=N;i<2*N;i++)//用insert函数插入
    37     {
    38         m.insert(make_pair(i,i));
    39     }
    40     pm();
    41 
    42     if (m.count(0))//查找该元素是否存在
    43     {
    44         printf("yes
    ");
    45     }
    46     else
    47     {
    48         printf("no
    ");
    49     }
    50 
    51     if (m.count(10))
    52     {
    53         printf("yes
    ");
    54     }
    55     else
    56     {
    57         printf("no
    ");
    58     }
    59 
    60     map<int,int>::iterator f,f1;
    61     f=m.find(0);//返回所找元素的迭代器
    62     f1=m.find(10);
    63     if (f!=m.end())
    64     {
    65         f->second=f->second+N;
    66     }
    67     else
    68     {
    69         printf("no
    ");
    70     }
    71     if (f1!=m.end())
    72     {
    73         f->second=f->second+N;
    74     }
    75     else
    76     {
    77         printf("no
    ");
    78     }
    79     pm();
    80 
    81     m.erase(9);
    82     m.erase(m.begin());
    83     pm();
    84 
    85     printf("%d
    ",m.empty());//map为空,返回true
    86     printf("%d
    ",(int)m.size());//返回元素个数
    87 
    88     map<int,int> m1;
    89     swap(m,m1);//交换两个map
    90     pm();
    91     for (f=m1.begin();f!=m1.end();f++)
    92     {
    93         printf("%d  %d
    ",f->first,f->second);
    94     }
    95 
    96 
    97     return 0;
    98 }
  • 相关阅读:
    PTA 7-6 列出连通集(深搜+广搜)
    TZOJ 2648 小希的迷宫(并查集)
    HDU 3342 Legal or Not(拓扑排序)
    哈夫曼树
    mst
    [THUWC2017]随机二分图
    视察
    [bzoj3274]Circle
    [bzoj3273]liars
    求导相关
  • 原文地址:https://www.cnblogs.com/hemeiwolong/p/8995062.html
Copyright © 2011-2022 走看看