在Hash函数中,已知x,找到y(y≠x)满足h(y)=h(x)在计算上是不可行的,这一性质称为()。
A.抗弱碰撞性
B.抗强碰撞性
C.完整性
D.单向性
A.抗弱碰撞性
B.抗强碰撞性
C.完整性
D.单向性
已知是某个函数(x,y)的全微分,则a,b的值为().
A.1,3
B.1,-3
C.-1,3
D.2,2
●函数f()、g()的定义如下所示,已知调用f时传递给形参x的值是l。在函数f中,若以引用调用(callbyreference)的方式调用g,则函数f的返回值为(32);若以值调用(callbyvalue)的方式调用g,则函数f的返回值为(33)。
(32)A.10
B.11
C.20
D.30
(33)A.10
B.11
C.20
D.30
A.friend Myst operator-(Myst&,Myst&);
B.friend Myst operator-(Myst,Myst);
C.friend Myst operator-(Myst,Myst&);
D.friend Myst operator-(Myst&,Myst);
已知类Myst有一个只需要一个double型参数的构造函数,且将运算符“-”重载为友元函数。要使语句序列 Myst x(3.2),y(5.5),z(0.0); z=8.9-y; y=x-6.3; 能够正常运行,运算符函数operator-应该在类中声明为
A.friend Myst operator-(Myst&,Myst&);
B.friend Myst operator-(Myst,Myst);
C.friend Myst operator-(Myst,Myst&);
D.friend Myst operator-(Myst&,Myst);
已知C++中一个函数的原型为void f(int &x, int &y),调用这个函数时,要把实在参数传递给形式参数,应该采用的参数传递方式是(30)。
A.传值调用
B.引用调用
C.复制恢复
D.传名调用
●试题二
阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
函数print(BinTreeNode*t;DateType &x)的功能是在二叉树中查找值为x的结点,并打印该结点所有祖先结点。在此算法中,假设值为x的结点不多于一个。此算法采用后序的非递归遍历形式。因为退栈时需要区分右子树。函数中使用栈ST保存结点指针ptr以及标志tag,Top是栈顶指针。
【函数】
void print(BinTreeNode*t;DateType &x){
stack ST;int i,top;top=0;∥置空栈
while(t!=NULL &&t->data!=x‖top!=0)
{while(t!=NULL && t->data!=x)
{
∥寻找值为x的结点
(1) ;
ST[top].ptr=t;
ST[top].tag=0;
(2) ;
}
if(t!=Null && t->data==x){∥找到值为x的结点
for(i=1; (3) ;i++)
printf("%d",ST[top].ptr->data);}
else{
while((4) )
top--;
if(top>0)
{
ST[top].tag=1;
(5) ;
}
}
}
,描绘下列函数的图像: