第三章测试
1.栈的插入和删除操作在(  )进行。
A:任意位置 B:栈顶 C:栈底 D:指定位置
答案:B
2.对一个初始为空的栈s执行操作Push(s,5),Push(s,2),Push(s,4),Pop(s,x),getTop(s,x)后,x的值应是(  )。
A:0 B:2 C:4 D:5 3.用S表示进栈操作,用X表示出栈操作,若元素的进栈顺序是1234,为了得到1342出栈顺序,相应的S和X的操作序列为(  )。
A:SXSSXSXX B:SXSXSSXX C:SSSXXSXX D:SXSSXXSX 4.假设一个栈的输入序列是1,2,3,4,则不可能得到的输出序列是(  )。
A:1,3,4,2 B:1,2,3,4 C:4,3,2,1 D:4,1,2,3 5.已知一个栈的进栈序列为1,2,3,…,n,其输出序列的第一个元素是i,则第j个出栈元素是(  )。
A:n-i B:j-i C:不确定 D:j-i+1 6.已知一个栈的进栈序列为1,2,3,…,n,其输出序列是p1,p2,p3,…,pn。若p1=n,则pi的值是(  )。
A:i B:n-i C:n-i+1 D:不确定 7.已知一个栈的进栈序列为1,2,3,…,n,其输出序列是p1,p2,p3,…,pn。若p1=3,则p2的值(  )。
A:一定是1 B:可能是1 C:一定是2 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+1)%maxSize B:Q.rear==(Q.front+1)%maxSize C:Q.front+Q.rear>=maxSize D:Q.front==Q.rear 10.设循环队列的存储容量为maxSize,队头和队尾指针分别为front和rear。若有一个循环队列Q,可应用下列语句(  )计算队列元素个数?
A:(Q.rear-Q.front)%maxSize+1 B:Q.rear-Q.front C:(Q.rear-Q.front+maxSize)%maxSize D:Q.rear-Q.front+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的队头指针和队尾指针分别为front和rear,则判断队列空的条件是(  )。
A:q.front!=NULL B:q.front==q.rear C:q.rear==NULL D:q.front==NULL 16.将递归算法转换成非递归算法时, 通常要借助的数据结构是(   )。
A:树 B:栈 C:队列 D:线性表 17.栈与一般线性表的区别在于()。
A:数据元素的类型不同 B:数据元素的个数不同 C:逻辑数据不同 D:运算是否受限制 18.栈和队列都是顺序存取结构。
A:对 B:错 19.对循环队列初始化时 · 要求队头指针与队尾指针指向同一个位置, 不论队列存储中什么位置都可以。
A:对 B:错 20.栈 是 实 现 过 程 和 函 数 等 子 程 序 调 用 所 必 需 的 结 构。
A:错 B:对

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