A、(1) return 0;
B、(1) return 1;
C、(3) leftTreeHeight >= rightTreeHeight
D、(3) leftTreeHeight <= righttreeheight> E、(2) leftTreeHeight =depth(t->lchild)
F、(2) depth(t->lchild)
A、(1) return 0;
B、(1) return 1;
C、(3) leftTreeHeight >= rightTreeHeight
D、(3) leftTreeHeight <= righttreeheight> E、(2) leftTreeHeight =depth(t->lchild)
F、(2) depth(t->lchild)
【说明4.1】
假设两个队列共享一个循环向量空间(如图1-2所示),其类型Queue2定义如下:
typedef struct {
DateType data [MaxSize];
int front[2],rear[2];
}Queue2;
对于i=0或1,front[i]和rear[i]分别为第i个队列的头指针和尾指针。函数.EnQueue (Queue2*Q,int i,DaleType x)的功能是实现第i个队列的入队操作。
【函数4.1】
int EnQueue(Queue2 * Q, int i, DateType x)
{ /*若第i个队列不满,则元素x入队列,并返回1;否则,返回0*/
if(i<0‖i>1) return 0;
if(Q->rear[i]==Q->front[(1)]
return 0;
Q->data[(2)]=x;
Q->rear[i]=[(3)];
return 1;
}
【说明4.2】
函数BTreeEqual(BinTreeNode*T1,BinTtneNode*T2)的功能是递归法判断两棵二叉树是否相等,若相等则返回1,否则返回0。函数中参数T1和T2分别为指向这两棵二叉树根结点的指针。当两棵树的结构完全相同,并且对应结点的值也相同时,才被认为相等。
已知二叉树中的结点类型BinTreeNode定义为:
struct BinTreeNode {
char data;
BinTreeNode * left, * right;
};
其中dau为结点值域,leR和risht分别为指向左、右子女结点的指针域,
【函数4.2】
int BTreeEqual(BinTreeNode * T1, BinTreeNode * T2)
{
if(Ti == NULL && T2 == NULL)return 1 /*若两棵树均为空,则相等*/
else if((4))return 0; /*若一棵为空一棵不为空,则不等*/
else if((5)) return 1; /*若根结点值相等并且左、右子树*/
/*也相等,则两棵树相等,否则不等*/
else return 0;
}
A、010
B、0120
C、012
D、0 1 0
E、0 1 2 0
F、0 1
G、0 1 2
void Inorder(BinTree T,void(*Visit)(Datatype x))
{ if(T)
{Inorder(T->lchild,Visit); /*遍历左子树*/
Visit(T->data); /*通过函数指针调用它所指的函数来访问结点*/
Inorder(T->rchild,Visit); /*遍历右子树*/
}
}
其中Visit是一个函数指针,它指向形如void f(DdataType x)的函数。因此我们可以将访问结点的操作写在雨数f中,通过调用语句Inorder(root,f)将f的地址传递给Visit,来执行遍历操作。请写一个打印结点的数据的函数,通过调用上述算法来完成中序遍历。
A、虚基类用于解决浅复制的问题
B、虚基类用于解决访问二义性的问题
C、虚基类不能解决派生类继承得到的同一基类成员的多份拷贝问题
D、实例化对象时,所有派生类的构造函数都会调用虚基类的构造函数
A、char s[]="abc";
B、char s[3]= "abc";
C、char s[4]; s="abc";
D、char s[4]= ’abc’;
读下面的程序,写出输出结果。#include <iostream.h> class Apple{ public: Apple(){i=10;} void display(){ cout<<"apple:i="<>< <endl; } private: int i; friend pear; }; pear{ public: void print1(apple a) { a.i++; print2:a="<<A.i<<endl;}; }; void main() { Apple a; Pear p; a.display(); p.print1(a); p.print2(a); a.display(); }<br/><p class=" answer"> 参考答案: <span style="color:rgb(255, 0, 0)">答案: Apple:i=10 print1:A=11 print2:A=9 Apple:i=10 按顺序每正确写出1行输出结果,可得1分,全部正确可得4分。顺序错误的,按照相对顺序正确的结果数量给分。</span>
3、定义一个整形数集合类Set,请通过创建动态分配的整数数组(使用new运算符)存放整数值,且数组的大小要能够根据包含元素的个数动态的变化。集合中,元素的顺序无关紧要,每个元素至多出现一次。实现如下函数:(1) 构造函数创建一个空集;(2) 复制构造函数实现深复制;(3) add 函数向集合中插入一个整数; (4) 析构函数。在main函数中对上述函数进行测试。
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!