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(4, 1000);
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(4, 1000);

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