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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_44065088/article/details/102585723
#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;
}

猜你喜欢

转载自blog.csdn.net/qq_44065088/article/details/102585723
今日推荐