1. 程式人生 > >c++中STL 關於map,set,vector的用法

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