标签:容器、迭代器
Stl的容器分顺序容器和关联容器。顺序容器有vector,list,deque。
顺序容器适配器有stack,queue,priority_queue。关联容器有map,set,multimap,multiset。
顺序容器特点是对单一类型的元素根据位置存储和访问,vector和deque用连续的空间存储元素,支持随机快速查找(vector比deque更快一些),但在容器中间进行插入删除操作时,需要较多的操作。List则可以快速的插入或删除。根据程序的需要,如果随机查找占主要操作较多就选择vector容器,如果在容器中间插入、删除较多,则选择list。
容器的迭代器相当于没有名字的下标,但对迭代器操作提供比使用下标更安全。对迭代器解引用获得元素的值。不同的地方是,list迭代器的加剪操作,因为list的元素的存储地址是不连续的,对list迭代器加1,获得的是下一个元素,而不是下一个元素的地址。
如果程序实现的是字典式的查询,则依据map的键-值对的特点,键与值一一对应,选择map容器。
如果只希望查看某一项是否有过记录,则依据set只有唯一键的特点,选择set容器
使用适配器使容器具有该适配器类型的特点,使用stack,使容器具有栈一样的特点:只能在一段操作插入、删除,先进后出,典型的例子是十进制数转二进制。
标签:容器、迭代器
原文地址:http://wwhx27.blog.51cto.com/6807550/1631092