第三章测试
1.

栈的插入和删除操作在(  )进行。



A:栈顶 B:任意位置 C:栈底 D:指定位置
答案:A
2.

对一个初始为空的栈s执行操作Push(s,5),Push(s,2),Push(s,4),Pop(s,x),getTop(s,x)后,x的值应是(  )。



A:4 B:2 C:0 D:5 3.

S表示进栈操作,用X表示出栈操作,若元素的进栈顺序是1234,为了得到1342出栈顺序,相应的SX的操作序列为(  )。


A:SSSXXSXX B:SXSSXSXX C:SXSXSSXX D:SXSSXXSX 4.

假设一个栈的输入序列是1,2,3,4,则不可能得到的输出序列是(  )。



A:1,3,4,2 B:4,1,2,3 C:4,3,2,1 D:1,2,3,4 5.

已知一个栈的进栈序列为1,2,3,…,n,其输出序列的第一个元素是i,则第j个出栈元素是(  )。



A:j-i B:不确定 C:j-i+1 D:n-i 6.

已知一个栈的进栈序列为1,2,3,…,n,其输出序列是p1,p2,p3,…,pn。若p1=n,则pi的值是(  )。


A:n-i+1 B:n-i C:不确定 D:i 7.

已知一个栈的进栈序列为1,2,3,…,n,其输出序列是p1,p2,p3,…,pn。若p1=3,则p2的值(  )。



A:一定是1 B:一定是2 C:可能是1 D:可能是2 8.

已知一个栈的进栈序列为p1,p2,p3,…,pn,其输出序列是1,2,3,…,n。若p3=1,则p1的值(  )。



A:一定是3 B:可能是2 C:不可能是2 D:一定是2 9.

设一个循环队列Q[maxSize]的队头指针为front,队尾指针为rear,队列最大容量为maxSize,除此之外该队列再没有其他数据成员,则该队列的队满条件是(  )。



A:Q.front==Q.rear B:Q.rear==(Q.front+1)%maxSize C:Q.front+Q.rear>=maxSize D:Q.front==(Q.rear+1)%maxSize 10.

设循环队列的存储容量为maxSize,队头和队尾指针分别为frontrear。若有一个循环队列Q,可应用下列语句(  )计算队列元素个数?


A:Q.rear-Q.front+1 B:(Q.rear-Q.front+maxSize)%maxSize C:Q.rear-Q.front D:(Q.rear-Q.front)%maxSize+1 11.

一个队列的进队顺序是1,2,3,4,则该队列可能的输出序列是(  )。



A:1,3,2,4 B:1,4,2,3 C:1,2,3,4 D:4,3,2,1 12.

对于链式队列,在执行插入操作时(  )。



A:仅修改尾指针 B:头、尾指针可能都要修改 C:仅修改头指针 D:头、尾指针都要修改  13.

最适合用作链式队列的链表是(  )。



A:带有队头指针和队尾指针的非循环单链表 B:只带队头指针的非循环单链表 C:带有队头指针和队尾指针的循环单链表 D:只带队头指针的循环单链表 14.

最不适合用作链式队列的链表是(  )。



A:只带队尾指针的循环单链表 B:带有队头指针的双向非循环链表 C:带有队头指针的双向循环链表 D:只带队尾指针的双向循环链表 15.

设一个链式队列q的队头指针和队尾指针分别为frontrear,则判断队列空的条件是(  )。


A:q.front==NULL B:q.rear==NULL C:q.front!=NULL D:q.front==q.rear 16.

将递归算法转换成非递归算法时, 通常要借助的数据结构是(   )。



A:队列 B:树 C:栈 D:线性表 17.

栈与一般线性表的区别在于()。


A:逻辑数据不同 B:运算是否受限制 C:数据元素的个数不同 D:数据元素的类型不同 18.

栈和队列都是顺序存取结构


A:对 B:错 19.

对循环队列初始化时 · 要求队头指针与队尾指针指向同一个位置不论队列存储中什么位置都可以。


A:错 B:对 20.

栈 是 实 现 过 程 和 函 数 等 子 程 序 调 用 所 必 需 的 结 构


A:错 B:对

温馨提示支付 ¥4.99 元后可查看付费内容,请先翻页预览!
点赞(99) dxwkbang
返回
顶部