set,multiset,map,multimap的区别 和基本的使用

#include <iostream>
#include <set>
#include <Windows.h>
#include <string>
#include <map>

using namespace std;


int main(void) {

    //值域   不重复 set
    set<int> setstring;

    setstring.insert(2);
    setstring.insert(3);
    setstring.insert(3);
    setstring.insert(5);

    set<int>::iterator iter;
    for (iter = setstring.begin();iter != setstring.end(); iter++) {
        cout << *iter << " ";
    }
    cout << endl;

    //值域   重复 multiset
    multiset<int> mulset;
    mulset.insert(5);
    mulset.insert(2);
    mulset.insert(1);
    mulset.insert(5);
    mulset.insert(6);
    mulset.insert(5);
    for (const auto &x : mulset) {
        cout << x  << " ";
    }
    cout << endl;

    //映射 单调性  map    键值  和  。。。不记得了叫什么了  ->  红黑树实现的模板类
    map<int,string> my_map;

    my_map[-1 ] = "aslkfj";            //如果有一个东西重复  后面出现的会覆盖前面出现的
    my_map[ 0 ] = "adlkfajsif";
    my_map[ 5 ] = "jalfkjaoijfoia";
    
    my_map[ 0 ] = "54564";
    my_map[ 6 ] = "54564";
     
    my_map.insert(pair<int, string>(9, " asdfasdfa"));
    my_map.insert(std::make_pair<int, string>(9, string("asdfasdfa")));

    map<int, string>::iterator itrmap;
    for (itrmap = my_map.begin();itrmap != my_map.end(); itrmap++) {
        cout << itrmap->first << " ";
        cout << itrmap->second << endl;
    }
    cout << endl;
    /*
    const int x = 0;
    const int* const p = &x;

    printf("x的地址:%p\t值:%d  \np的地址:%p\t值:%d\n", &x, x, p, *p);

    (*(int*)p) += 10;

    printf("x的地址:%p\t值:%d  \np的地址:%p\t值:%d\n", &x, x, p, *p);
    */

    system("pause");
    return 0;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值