最新《数据结构》习题汇编03 第三章 栈和队列 试题.doc
《最新《数据结构》习题汇编03 第三章 栈和队列 试题.doc》由会员分享,可在线阅读,更多相关《最新《数据结构》习题汇编03 第三章 栈和队列 试题.doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品资料数据结构习题汇编03 第三章 栈和队列 试题.第三章 栈和队列 试题一、单项选择题1. 栈的插入和删除操作在( )进行。A. 栈顶B. 栈底C. 任意位置D. 指定位置2. 当利用大小为n的数组顺序存储一个栈时,假定用top=n表示栈空,则向这个栈插入一个元素时,首先应执行( )语句修改top指针。A. top+;B. top-;C. top = 0;D. top;3. 若让元素1,2,3依次进栈,则出栈次序不可能出现( )种情况。A. 3, 2, 1B. 2, 1, 3C. 3, 1, 2D. 1, 3, 24. 在一个顺序存储的循环队列中,队头指针指向队头元素的( )位置。A. 前
2、一个B. 后一个C. 当前 D. 后面5. 当利用大小为n的数组顺序存储一个队列时,该队列的最大长度为( )。A. n-2 B. n-1C. n D. n+16. 从一个顺序存储的循环队列中删除一个元素时,需要( )。A. 队头指针加一B. 队头指针减一C. 取出队头指针所指的元素D. 取出队尾指针所指的元素7. 假定一个顺序存储的循环队列的队头和队尾指针分别为front和rear,则判断队空的条件为( )。A. front+1 = rearB. rear+1 = frontC. front = 0D. front = rear8. 假定一个链式队列的队头和队尾指针分别为front和rear,
3、则判断队空的条件为( )。A. front = rearB. front != NULLC. rear != NULLD. front = NULL9. 设链式栈中结点的结构为(data, link),且top是指向栈顶的指针。若想在链式栈的栈顶插入一个由指针s所指的结点,则应执行操作( )。A. top-link = s; B. s-link = top-link; top-link = s;C. s-link = top; top = s; D. s-link = top; top = top-link;10. 设链式栈中结点的结构为(data, link),且top是指向栈顶的指针。若想
4、摘除链式栈的栈顶结点,并将被摘除结点的值保存到x中,则应执行操作( )。A. x = top-data; top = top-link; B. top = top-link; x = top-data;C. x = top; top = top-link;D. x = top-data;11. 设循环队列的结构是 #define MaxSize 100 typedef int ElemType; typedef struct ElemType baseMaxSize; int front, rear; Queue; 若有一个Queue类型的队列Q,则判断队列满的条件应是语句( )。 A. Q.
5、front = Q.rear; B. Q.front - Q.rear = MaxSize;C. Q.front + Q.rear = MaxSize; D. Q.front = (Q.rear+1) % MaxSize;12. 设循环队列的结构是 #define MaxSize 100 typedef int ElemType; typedef struct ElemType baseMaxSize; int front, rear; Queue;若有一个Queue类型的队列Q,则应用语句( )计算队列元素个数。A. (Q.rear - Q.front + MaxSize ) % MaxSi
6、ze;B. Q.rear - Q.front +1;C. Q.rear - Q.front -1;D. Q.rear - Qfront;13. 在做进栈运算时,应先判断栈是否( )A. 空 B. 满C. 上溢D. 下溢14. 为增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时, 应将两栈的( )分别设在这片内存空间的两端。 A. 长度B. 深度C. 栈顶D. 栈底15. 使用两个栈共享一片内存空间时,当( )时,才产生上溢。A. 两个栈的栈顶同时到达这片内存空间的中心点B. 其中一个栈的栈顶到达这片内存空间的中心点C. 两个栈的栈顶在这片内存空间的某一位置相遇D. 两个
7、栈均不空, 且一个栈的栈顶到达另一个栈的栈底二、填空题1. 栈是一种限定在表的一端插入和删除的线性表,它的特点是_。2. 队列是一种限定在表的一端插入,在另一端删除的线性表,它的特点是_。3. 队列的插入操作在_进行,删除操作在_进行。4. 向一个顺序栈插入一个元素时,首先使_后移一个位置,然后把待插入元素写入到这个位置上。5. 从一个顺序栈中删除元素时,需要将_前移一位位置。6. 若设顺序栈的最大容量为MaxSize,则判断栈满的条件是_。7. 当用长度为MaxSize的数组顺序存储一个栈时,若用top = MaxSize表示栈空,则表示栈满的条件为_。8. 在一个链式栈中,若栈顶指针等于N
8、ULL则为_。9. 在向一个链式栈插入一个新结点时,首先把栈顶指针中存放的结点地址赋给新结点的指针域,然后把新结点的存储位置赋给_。10. 向一个栈顶指针为top的链式栈中插入一个新结点*p时,应执行_和_操作。11. 从一个栈顶指针为top的非空链式栈中删除结点并不需要返回栈顶结点的值和回收结点时,应执行_操作。12. 设循环队列Q的队头和队尾指针分别为front和rear,则判断队空的条件为_。13. 设循环队列Q的队头和队尾指针分别为front和rear,队列的最大容量为MaxSize,且规定判断队空的条件为Q.front = Q.rear,则判断队满的条件为_。14. 向一个循环队列中
9、插入元素时,需要首先移动_,然后再向所指位置写入新插入的元素。15. 在一个链式队列中,若队头指针与队尾指针的值相同,则表示该队列为_或该队列_。16. 假定front和rear分别为链式队列的队头和队尾指针,则该队列中只有一个结点的条件为_。17. 双端队列是限定插入和删除操作在表的_进行的线性表。18. 中缀表达式3*(x+2)-5所对应的后缀表达式为_。19. 后缀表达式“4 5 * 3 2 + -”的值为_。20. 设有一个顺序栈S,元素s1, s2, s3, s4, s5, s6依次进栈,如果6个元素的出栈顺序为s2, s3, s4, s6, s5, s1,则顺序栈的容量至少应为_。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 最新数据结构习题汇编03 第三章 栈和队列 试题 最新 习题 汇编 03 第三 队列
限制150内