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(第二个)

    }

猜你喜欢

转载自www.cnblogs.com/gumpzlc/p/9695533.html