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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM