一、选择题
1、假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为
A. log2n
B. n2
C. O(n1.5)
D. n(n-1)/2
2、算法分析的目的是
A. 找出数据结构的合理性
B. 找出算法中输入和输出之间的关系
C. 分析算法的易懂性和可靠性
D. 分析算法的效率以求改进
3、线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是
A. 每个元素都有一个直接前件和直接后件
B. 线性表中至少要有一个元素
C. 表中诸元素的排列顺序必须是由小到大或由大到小
D. 除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件
4、在单链表中,增加头结点的目的是
A. 方便运算的实现
B. 使单链表至少有一个结点
C. 标识表结点中首结点的位置
D. 说明单链表是线性表的链式存储实现
……此处隐藏20701个字…… nbsp;对于define宏定义语句,系统会在编译前进行替换。本题替换过程如下:
i1=1000/s(N)
i1=1000/s(10)
i1=1000/10*10
i1=1000
i2=1000/f(N)
i2=1000/f(10)
i2=1000/(10*10)
i2=10
45、友元函数
[解析] C++语言中友元类中的函数都是另一个类的友元函数。46、静态联编静态绑定
47、动态联编动态绑定
[解析] C++语言编译时多态性的机制是静态绑定,实现C++语言运行时多态性的机制是动态绑定。
48、++x
[解析] C++语言中用成员函数重载++x为x.operator++()用友元函数重载++x为:operator++(x)。
49、16
[解析] 解答本题的关键是要分析清楚表达式a+=(a=8)中,a的值已经被赋为8,而不是0。
50、ifstream fin("C:\test.dat" ,ios_binary);ifstream
[解析] C++中打开文件有两种方式① ifstream fin("test.dat");② ifstream fin;fin.open("test.dat");,ios_binary的意义是以二进制文件打开。