欢迎来到天天文库
浏览记录
ID:19226313
大小:26.46 KB
页数:7页
时间:2018-09-30
《11c++第十一章习题解答》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、7第十一章标准模板库(STL)习题第十一章标准模板库(STL)习题一.基本概念与基础知识自测题11.1填空题11.1.1STL大量使用继承和虚函数是(1)(填对或错)。因为(2)。答案:(1)错(2)它使用的是模板技术,追求的是运行的效率,避免了虚函数的开销11.1.2有两种STL容器:(1)和(2)。STL不用new和delete,而用(3)实现各种控制内存分配和释放的方法。答案:(1)第一类容器(2)近容器(3)分配子(allocator)11.1.3五种主要迭代子类型为(1)、(2)、(3)、(4)和(5)。STL算法用(6)间接操作容器元素。sort
2、算法要求用(7)迭代子。答案:(1)输入(InputIterator)(2)输出(OutputIterator)(3)正向(ForwardIterator)(4)双向(BidirectionalIterator)(5)随机访问(RandomAccessIterator)(6)迭代子(7)随机访问(RandomAccessIterator)11.1.4三种STL容器适配器是(1)、(2)和(3)。答案:(1)stack(栈)(2)queue(队列)(3)priority_queue(优先级队列)11.1.5成员函数end()得到容器(1)的位置,而rend得到
3、容器(2)的位置。算法通常返回(3)。答案:(1)最后一个元素的后继位置(2)引用容器第一个元素的前导位置。实际上这是该容器前后反转之后的end()(3)迭代子11.1.6适配器是(1),它依附于一个(2)容器上,它没有自己的(3)函数和(4)函数,而借用其实现类的对应函数。答案:(1)不独立的(2)顺序(3)构造函数(4)析构函数11.1.7返回布尔值的函数对象称为(1),默认的是(2)操作符。constructionqualityacceptanceandassessmentRegulation(ProfessionalEdition)(DL/T5210
4、.2-2009~DL/T5210.8-2009);1.9thequalitycheckoutandevaluationofelectricequipmentinstallationengineeringcode(DL/T5161.1-2002~5161.17-2002);1.10thenormsofconstructionsupervision,theelectricpowerconstructionsupervisionregulations7第十一章标准模板库(STL)习题答案:(1)谓词(predicate)(2)小于比较操作符“<”11.1.8C++
5、标准库中给出的泛型算法包括(1)种算法。主要包括以下几类:(2)、(3)、(4),每一类都有十种以上算法。答案:(1)70余(2)查找算法(3)排序(sorting)和通用整序(ordering)算法(4)删除和代替算法11.1简答题11.1.1简述STL中迭代子与C++指针的关系与异同点。答:迭代子包含内存地址的获得,是面向对象版本的指针。迭代子与指针有许多相同之处,但迭代子保存所操作的特定容器需要的状态信息,从而实现与每种容器类型相适应的迭代子。而且有些迭代子操作在所有容器中是一致的,这带来了很大的方便。如++运算符总是返回容器下一个元素的迭代子,就像数
6、组指针++后指向下一个元素;间接引用符“*”,总是表示迭代子指向的容器元素,就像数组指针加*号后代表指针所指的元素。迭代子在STL中起粘结剂的作用,用来将STL的各部分结合在一起。从本质上说,STL提供的所有算法都是模板,我们可以通过使用自己指定的迭代子来对这些模板实例化。迭代子可以包括指针,但迭代子又不仅是一个指针。11.1.2顺序容器包括哪三种?它们各以什么数据结构为基础?各有哪些特点?答:C++标准模板库提供三种顺序容器:vector,list和deque。vector类和deque类是以数组为基础的,list类是以双向链表为基础的。矢量(vector
7、)类提供了具有连续内存地址的数据结构。它和C/C++的数组一样通过下标运算符[]直接有效地访问矢量的任何元素。与数组不同,vector的内存用尽时,vector自动分配更大的连续内存区,将原先的元素复制到新的内存区,并释放旧的内存区。内存分配由分配子(allocator)完成。矢量可以用来实现队列、堆栈、列表和其他更复杂的结构。vector支持随机访问迭代子,具有最强的功能。vector的迭代子通常实现为vector元素的指针。列表(list)是由双向链表(doublylinkedlist)组成的。支持的迭代子类型为双向迭代子。双端队列(deque)(dou
8、ble-endedqueue)类。双端队列允许在队列
此文档下载收益归作者所有