C++primer(第五版)第九章 顺序容器(容器的运用及其部分习题解答,C++11特性总结,重点章节内容较多)
顺序容器: 为程序员提供了控制元素存储和访问顺序的能力。(无序容器) 1.顺序容器的概述 A.顺序容器的类型 vector:可变大小数组。支持快速随机访问。在尾部之外的位置插入或删除元素可能很慢。 deque:双端队列。支持快速随机访问。在头尾位置插入/删除速度很快。 list:双向链表。只支持双向顺序访问。在list中任何位置进行插入/删除操作速度都很快。 forword_list:单向链表。只支持单向顺序访问。在链表的任何位置进行插入/删除操作速度都很快。(无size()) array:固定大小数组。支持快速随机访问。不能添加和删除元素。 string:与vector相似的容器,但专门用于保存字符。随机访问快。在尾部插入/删除速度快。 根据以上顺序容器的类型介绍,从而习题9.1答案就很简单了:list(字母序是任何位置插入)、deque(头部尾部插入/删除)、vector(可变容器)。 2.容器库 A.迭代器 迭代器中beigin是指容器首元素,end是指容器的最后一个元素的后一个位置; B.容器的拷贝 容器的拷贝有两种操作方法:一是直接拷贝整个容器,二是拷贝一个迭代器对指定的元素范围。前者需要两个容器的类型和元素类型必须匹配;后者不要求容器类型相同元素类型也可不同,但需要元素转换。 例子: list<string> authors ={"Milton",