1.Vector
vector就是一个dynamic array中管理。它允许随机访问,你可以利用索引直接访问任何一个元素。在array尾部附加元素或移除元素都很快速。但插入元素就比较费时。
以下定义一个vector,插入六个元素,并打印:
vector<int> coll; //定义一个vector
for (int i = 1; i < +6; i++)
{
coll.push_back(i); //往里面添加元素
}
for (int i = 0; i < coll.size(); i++)
{
cout << coll[i]+' ';
}
cout << endl;
2.Deque
它也是一个dynamic array,它可以向两端发展,因此不论在尾部或头部安插元素都比较方便,在中间则比较费时。
int main()
{
deque<float> coll;
for (int i = 1; i <= 6; i++)
{
coll.push_front(i*1.1);
}
for (auto elem : coll)
{
cout << elem << ' ';
}
cout << endl;
system("pause");
}
3.List
不提供随机访问,由双向链表实现而成,在任何位置上的删除操作非常迅速。
int main()
{
list<char> coll;
for (int c = 'a'; c <= 'z'; c++)
{
coll.push_back(c);
}
for (auto elem : coll)
{
cout << elem << ' ';
}
cout << endl;
system("pause");
}