
问题:
[填空题] 设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5,e6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的序列是e2,e4,e3,e6,e5,e1,则栈的容量至少应该是()。
问题:
[填空题] 一个循环队列Q的存储空间大小为M,其队头和队尾指针分别为front和rear,则循环队列中元素的个数为:()。
问题:
[填空题] 在具有n个元素的循环队列中,队满时具有()个元素。
问题:
[填空题] 设循环队列的容量为70,现经过一系列的入队和出队操作后,front为20,rear为11,则队列中元素的个数为()。
问题:
[判断题] 在单链表中,要访问某个结点,只要知道该结点的地址即可;因此,单链表是一种随机存取结构。
正确。错误。
问题:
[判断题] 以链表作为栈的存储结构,出栈操作必须判别栈空的情况。
正确。错误。
问题:
[填空题] 已知栈的基本操作函数:intInitStack(SqStack*S);//构造空栈intStackEmpty(SqStack*S);//判断栈空intPush(SqStack*S,ElemTypee);//入栈intPop(SqStack*S,ElemType*e);//出栈函数conversion实现十进制数转换为八进制数,请将函数补充完整。voidconversion(){InitStack(S);scanf(“%d”,&N);while(N){(1);N=N/8;}while((2)){Pop(S,&e);printf(“%d”,e);}}//conversion
问题:
[填空题] 阅读算法f2,并回答下列问题:(1)设队列Q=(1,3,5,2,4,6)。写出执行算法f2后的队列Q;(2)简述算法f2的功能。voidf2(Queue*Q){DataTypee;if(!QueueEmpty(Q)){e=DeQueue(Q);f2(Q);EnQueue(Q,e);}}
问题:
[填空题] 已知Q是一个非空队列,S是一个空栈。编写算法,仅用队列和栈的ADT函数和少量工作变量,将队列Q的所有元素逆置。栈的ADT函数有:voidmakeEmpty(SqStacks);置空栈voidpush(SqStacks,ElemTypee);元素e入栈ElemTypepop(SqStacks);出栈,返回栈顶元素intisEmpty(SqStacks);判断栈空队列的ADT函数有:voidenQueue(Queueq,ElemTypee);元素e入队ElemTypedeQueue(Queueq);出队,返回队头元素intisEmpty(Queueq);判断队空