vector優(yōu)勢(shì):1.隨機(jī)訪問(wèn) 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;
}
結(jié)果:

Deque操作代碼類似。
優(yōu)勢(shì):比之Vector在頭部插入刪除元素也有很高效率。也支持迭代器隨機(jī)訪問(wèn)。不過(guò)元素在內(nèi)存中不連續(xù)。

List操作基本相同不過(guò)多了一些功能
優(yōu)勢(shì):高效遍歷元素,常量時(shí)間插入刪除任意位置元素。
#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四個(gè)參數(shù),第一個(gè)參數(shù)是插入的位置,第二個(gè)是插入源,第三四個(gè)參數(shù)指定范圍
    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;
}
結(jié)果:

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