c++中STL 关于map,set,vector的用法

 

一、vector

vector相当于是一个可以存放一个任意数据类型的一个容器,通过迭代器可以对其进行相应的操作,如下:

 

 1 vector<CString> arrTest;
 2 arrTest.push_back(L"你");
 3 arrTest.push_back(L"我");
 4 arrTest.push_back(L"他");
 5 
 6 vector<CString>::iterator iterArr = arrTest.begin();
 7 for (; iterArr != arrTest.end(); ++iterArr)
 8 {
 9 cout << CW2A(*iterArr) << endl;
10 }
11 
12 cout << CW2A(arrTest.at(1)) << endl;
13 
14 cout << endl;

 

 

输出:

 




 

二、map

map其实和vector很像,就是把由一个参数变为了两个参数,参考代码如下:

 

map<CString, CString> mapTest;
    mapTest[L"哈哈"] = L"呵呵";
    mapTest[L"学生"] = L"老师";
    mapTest[L"职工"] = L"领导";

    map<CString, CString>::iterator iterMap = mapTest.begin();
    for(; iterMap != mapTest.end(); ++iterMap)
        cout << CW2A(iterMap->first) << " " << CW2A(iterMap->second) << endl;

    iterMap = mapTest.find(L"学生");
    if(iterMap != mapTest.end())
    {
        cout << CW2A(iterMap->first) << " " << CW2A(iterMap->second) << endl;
    }
    cout << endl;

 

输出:

哈哈 呵呵
学生 老师
职工 领导
学生 老师

 

三、set

set就是一个集合,和我们学过的集合类似,这个集合默认是按顺序排列的,并且所有元素类型一致,并且不存在重复元素,实例代码如下:

 

void setExample()
{
    set<int> setTest;
    setTest.insert(2);
    setTest.insert(3);
    setTest.insert(3);
    setTest.insert(1);

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

 

结果:

1
2
3
1

原作地址:https://www.cnblogs.com/leguandemomotou/p/7418307.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值