vector優勢:1.隨機訪問 2.在尾部插入刪除元素
#include<iostream>
#include
<vector>
using namespace std;

void Print(vector<int>& vec)
{
    
for(int i = 0; i < vec.size(); ++i)cout<<' '<<vec[i];
    cout
<<endl;
}


int main()
{
    vector
<int> first;
    vector
<int> second(41000);
    vector
<int> third(second.begin() + 2, second.end());
    vector
<int> forth(third);

    vector
<int>::iterator it;

    
int val[] = {1,2,3,4};
    vector
<int> fifth(val, val + sizeof(val) / sizeof(val[0]));

    cout
<<"First:";
    Print(first);
    cout
<<"Second:";
    Print(second);
    cout
<<"Third:";
    Print(third);
    cout
<<"Forth:";
    Print(forth);
    cout
<<"Fifth:";
    Print(fifth);

    first.swap(fifth);
    cout
<<"First:";
    Print(first);

    first.push_back(
12);
    cout
<<"First:";
    Print(first);

    it 
= first.begin() + 2;
    first.erase(it,first.end());
    cout
<<"First:";
    Print(first);

    it 
= first.begin();
    first.insert(it,
100);
    cout
<<"First:";
    Print(first);

    system(
"pause");
    
return 0;
}
結果:

Deque操作代碼類似。
優勢:比之Vector在頭部插入刪除元素也有很高效率。也支持迭代器隨機訪問。不過元素在內存中不連續。

List操作基本相同不過多了一些功能
優勢:高效遍歷元素,常量時間插入刪除任意位置元素。
#include<iostream>
#include
<list>
using namespace std;

void Print(list<int>& ls)
{
    list
<int>::iterator it = ls.begin();
    
for(; it != ls.end(); ++it)cout<<' '<<*it;
    cout
<<endl;
}


void Print(list<double>& ls)
{
    list
<double>::iterator it = ls.begin();
    
for(; it != ls.end(); ++it)cout<<' '<<*it;
    cout
<<endl;
}


int main()
{
    list
<int> first;
    list
<int> second(41000);

    list
<int>::iterator it;

    
double first_val[] = {1.0,3.0,2.0,4.0};
    list
<double> third(first_val, first_val + sizeof(first_val) / sizeof(first_val[0]));

    
double sencond_val[] = {1.1,4.3,1.4,2.9};
    list
<double> fourth(sencond_val, sencond_val + sizeof(sencond_val)/sizeof(sencond_val[0]));

    it 
= first.begin();
    first.insert(it,
100);
    cout
<<"First:";
    Print(first);

    it 
= first.begin();
    first.splice(it,second);
//splice四個參數,第一個參數是插入的位置,第二個是插入源,第三四個參數指定范圍
    cout<<"First:";
    Print(first);

    first.remove(
100);
    cout
<<"First:";
    Print(first);

    third.sort();
    fourth.sort();
    cout
<<"Third:";
    Print(third);
    cout
<<"Fourth:";
    Print(fourth);

    third.merge(fourth);
    cout
<<"Third:";
    Print(third);

    system(
"pause");
    
return 0;
}
結果:

splice在代碼中已經說明,merge函數合并兩個list而且是按照從小到大的順序,merge有另一個版本包含兩個參數,另一個是一個
返回bool類型的函數,說明了比較規則。用法相同。另外一些函數使用比較簡單。
該類筆記均參考:www.cplusplus.com