STL中的map,list,vectors常见,常用容器
列举三个较为常见,用的也比较多的SRL模板容器
一、vectors,list(顺序结构)
1、vectors相当于数组
2、list
3.vector与list的区别:
vector和数组类似,它拥有一段连续的内存空间,并且起始地址不变,因此 它能非常好的支持随即存取,即 [ ] 操作符,但由于它的内存空间是连续的,所以在中间 进行插入和删除会造成内存块的拷贝,另外,当该数组后的内存空间不够时,需要重新 申请一块足够大的内存并进行内存的拷贝。这些都大大影响了vector的效率。 list就是数据结构中的双向链表,因此它的内存空间可以是不连续的,通过指针来进行数据的访问,这个特点使得它的随即存取变的非常没有效率,但由于链表的特点,它可以以很好的效率支持任意地方的删除 和插入。
二、map(存放的是不重复的成员)
map的遍历:
map<.....> M(容器名称);
map<.....> ::iterator iter;
for(iter = M.begin();iter != M.end(); iter++)
{
iter->first(容器中第一个成员)
iter->second(第二个)
}