1、单循环链表的主要优点是()。
A.从表中任一结点出发都能扫描到整个链表
B.不再需要头指针了
C.在进行插入、删除操作时,能更好地保证链表不断开
D.已知某个结点的位置后,能够容易找到它的直接前趋
参考答案:A
2、函数func的定义如下:
void func(const int& v1, cont int& v2)
{
std::cout << v1 << ' ';
std::cout << v2 << ' ';
}
在Visual Studio开发环境下, 以下代码输出结果为
int main (int argc, char* argv[])
{
int i=0;
func(++i,i++);
return 0;
}
A.0 1
B.1 2
C.2 1
D.2 0
参考答案:D
3、递归式的先序遍历一个n节点,深度为d的二叉树,需要栈空间的大小为______。
A.O(n)
B.O(d)
C.O(logn)
D.O(nlogn)
参考答案:B
4、以下代码编译有错误,哪个选项能解决编译错误?
class A {
public:
int GetValue() const {
vv = 1;
return vv;
}
private:
int vv;
};
A.改变成员变量"vv"为"mutable int vv"
B.改变成员函数"GetValue"的声明,以使其不是const的
C.都不能修复编译错误
D.都可以修复编译错误
参考答案:D
5、以下排序算法中是稳定的且时间复杂度小的是:
A.bubble sort
B.heap sort
C.merge sort
D.quick sort
参考答案:C
6、下列哪两个数据结构,同时具有较高的查找和删除性能
A.有序数组
B.有序链表
C.AVL树
D.Hash表
参考答案:CD
7、以下程序输出结果是
class A
{
public:
virtual void func(int val = 1)
{ std::cout<<"A->"<
virtual void test()
{ func();}
};
class B : public A
{
public:
void func(int val=0)
{std::cout<<"B->"<
};
int main(int argc ,char* argv[])
{
B*p = new B;
p->test();
return 0;
}
A.A->0
B.B->1
C.A->1
D.B->0
参考答案:B
8、下列与队列结构有关联的是
A.先到先服务的作业调度
B.数组元素的引用
C.多重循环的执行
D.函数的递归调用
参考答案:A
9、在嵌套使用if语句时,C语言规定else总是____
A.和之前与其具有相同缩进位置的if配对
B.和之前与其近的if配对
C.和之前与其近的且不带else的if配对
D.和之前的第一个if配对
参考答案:C