STL 容器
csw_100
对代码有着一种情愫!
展开
-
STL中List,Vector,Map,Set的理解
STL中List,Vector,Map,Set的理解 List封装了链表,Vector封装了数组, list和vector得最主要的区别在于vector使用连续内存存储的,他支持[]运算符,而list是以链表形式实现的,不支持[]。Vector对于随机访问的速度很快,但是对于插入尤其是在头部插入元素速度很慢,在尾部插入速度很快。List对于随机访问速度慢得多,因为可能要遍历整个链表才能转载 2010-04-23 10:23:00 · 1176 阅读 · 0 评论 -
STL 基本容器 : string、vector、list、deque、set、map 的区别
set 和map都是无序的保存元素,只能通过它提供的接口对里面的元素进行访问set:集合, 用来判断某一个元素是不是在一个组里面,使用的比较少map:映射,相当于字典,把一个值映射成另一个值,如果想创建字典的话使用它好了string、vector、list、deque、set 是有序容器 1.string string 是basic_string 的实现,在内存中是连续存放的.为了提高效率,都会有转载 2010-04-23 10:51:00 · 772 阅读 · 0 评论 -
总结各容器特点
vector:动态数组,在堆中分配内存,元素连续存储,有保留内存,删除元素时内存不会被释放,如果大小超过限定值时才会重新分配内存,随机访问速度快,对最后元素操作最快(在后面添加删除最快 ), 因为不需要内存移动 应用于:需要经常随机访问请用vector list:在堆中分配内存,每个元素都是放在一块内存中 list没有空间预留 ,所以每分配一个元素都会从内存中分配,每删除一原创 2010-04-23 11:07:00 · 772 阅读 · 1 评论 -
学习STL map, STL set之数据结构基础
<br />STL map和set的使用虽不复杂,但也有一些不易理解的地方,如:<br /><br /> <br />或许有得人能回答出来大概原因,但要彻底明白,还需要了解STL的底层数据结构。<br />C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封装数组,list封装了链表,map和set封装了二叉树等,在封装这些数据结构的时候,STL按照程序员的转载 2010-06-10 12:44:00 · 529 阅读 · 0 评论