c 程序设计(第2版)吴乃陵 -c 第六章习题解答

c 程序设计(第2版)吴乃陵 -c 第六章习题解答

ID:12502034

大小:260.50 KB

页数:14页

时间:2018-07-17

c  程序设计(第2版)吴乃陵 -c  第六章习题解答_第1页
c  程序设计(第2版)吴乃陵 -c  第六章习题解答_第2页
c  程序设计(第2版)吴乃陵 -c  第六章习题解答_第3页
c  程序设计(第2版)吴乃陵 -c  第六章习题解答_第4页
c  程序设计(第2版)吴乃陵 -c  第六章习题解答_第5页
资源描述:

《c 程序设计(第2版)吴乃陵 -c 第六章习题解答》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、14第六章模板与数据结构题第六章模板与数据结构习题一、.基本概念与基础知识自测题6.1填充题6.1.1模板是为了实现代码的(1),它把数据类型改为一个(2),称为(3)程序设计。模板包括(4)和(5)。答案:(1)重用(2)设计参数(3)参数化(parameterize)(4)函数模板(functiontemplate)(5)类模板(classtemplate)6.1.2调用函数模板时,可以显式指定模板参数类型,也可以隐式进行,称为(1),这是根据(2)来决定的。答案:(1)模板实参推演(templateargu

2、mentdeduction)(2)一组实际类型或(和)值6.1.3顺序查找可以用于(1)线性表,而对半查找可以用于(2)线性表。答案:(1)无序的(所有)(2)有序的6.1.4最常见的排序方式有(1)、(2)和(3)。如果现有一个已排好序的线性表,在表尾添加了一个元素,采用(4)排序法使它重新成为有序的所需工作量最小。答案:(1)选择(2)插入(3)交换(4)交换(可利用原来的有序性)6.1.5给出以下指针的说明方式:指向一个4元素整型数组的指针为(1);指向一个返回整型数,参数为两个整型数的函数的指针(2);指

3、向一个数组的指针,而该数组元素都是指向一个返回整型指针的无参函数(3)。答案:(1)int(*p)[4](2)int(*p)(int,int)(3)以指向6元素数组为例:int*(*)()(*p)[6]6.2简答题6.2.1需要编写一个对多维数组通用的算法(即各维的大小未定),怎样才能把实参多维数组的信息全部传递到函数中去?答:最佳方法是用函数模板,多维数组用模板类型参数传递,各维的大小作为参数传递。也可以用一维数组加各维的大小都作为参数传递。6.2.2什么叫函数模板?什么叫模板函数?什么叫类模板?什么叫模板类?

4、答:不受数据类型限制的通用型的函数使代码的可重用性大大提高。14第六章模板与数据结构题把数据类型改为一个设计参数是一个可行的方案。这种程序设计类型称为参数化(Parameterize)程序设计。这样的软件模块由模板(Template)构造。包括函数模板和类模板。函数模板定义如下:template<模板参数表>返回类型函数名(形式参数表){……;//函数体}模板参数主要是模板类型参数。模板类型参数代表一种潜在的内置或用户定义的类型,由关键字typename或class后加一个标识符构成。函数模板可以用来创建一个通用

5、功能的函数,以支持多种不同形参,简化重载函数的设计。由调用函数模板(functrontemplate)而生成的函数,称为模板函数(templatefunction)。类模板定义如下:template<模板参数表>class类名{……;//类声明体};模板参数有两种:模板类型参数和模板非类型参数。模板类型参数(templatetypeparameter),它代表一种类型,由关键字typename或class后加一个标识符。模板非类型参数由一个普通的参数声明构成。模板非类型参数表示该参数名代表了一个潜在的常量。如数组

6、类模板,可以有一个数组长度的非类型参数。为通用的类模板定义中的模板类型参数指定了具体类型而生成的类称为模板类。6.2.1什么叫线性表?其基本操作包括哪些?其中插入一个元素的关键在哪儿?答:线性表是数据结构中的概念:每两个相邻元素之间都有直接前驱和直接后继的关系。这里除第一个元素外,其他元素有且仅有一个直接前驱,第一个元素没有前驱;除最后一个元素外,其他元素有且仅有一个直接后继,最后一个元素无后继。这样的特性称为线性关系。基本操作包括:计算表长度,寻找变量或对象x(其类型与表元素相同)在表中的位置(下标值),判断x

7、是否在表中,删除x,将x插入列表中第i个位置,寻找x的后继,寻找x的前驱,判断表是否空,判断表是否满,取第i个元素的值等。当需要在顺序表的指定位置i插入一个数据x时,必须为它腾出这个位置,把从该位置开始向后的所有元素数据,后移一个位置,最后才插入。关键是后移时从最后一个元素开始。否则先移的数据会冲掉未移的数据。6.2.2采用索引查找有哪些优点?它需要被查找数据有序吗?答:索引,就象一本书的目录,找到标题,再看一下页号,立即可以翻到。索引查找不要求被查找数据有序,只要求索引有序。6.2.3简单叙述阅读理解复杂指针的

8、方法。设Node为类,下面两个标识符fa和pa分别代表什么?Node*(*fa(int))();Node*(*(*pa)[])();答:理解和构造对象说明的方法是:先撇开标识符,按从右到左的顺序逐个解释每个说明符,如果有括号则改变解释的先后,先解释括号内再解释括号外。fa是有一个整型参数的函数,其返回值是指针,该指针是指向无参函数的指针,而该无参函数的返回值是指向Node

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。