《数据结构》习题集:第3章 栈和队列《数据结构》习题集:第3章 栈和队列.docVIP

  • 66
  • 0
  • 约1.79万字
  • 约 15页
  • 2017-01-04 发布于贵州
  • 举报

《数据结构》习题集:第3章 栈和队列《数据结构》习题集:第3章 栈和队列.doc

《数据结构》习题集:第3章 栈和队列《数据结构》习题集:第3章 栈和队列

第3章 栈和队列 选择题 栈结构通常采用的两种存储结构是(A )。 A、顺序存储结构和链表存储结构 B、散列和索引方式 C、链表存储结构和数组 D、线性链表结构和非线性存储结构 设栈ST 用顺序存储结构表示,则栈ST 为空的条件是( B ) A、ST.top-ST.base0 B、ST.top-ST.base==0 C、ST.top-ST.basen D、ST.top-ST.base==n 向一个栈顶指针为HS 的链栈中插入一个s 结点时,则执行( C ) A、HS-next=s; B、s-next=HS-next;HS-next=s; C、s-next=HS;HS=s; D、s-next=HS;HS=HS-next; 从一个栈顶指针为HS 的链栈中删除一个结点,用x 保存被删除结点的值,则执行( C) A 、x=HS;HS=HS-next; B 、HS=HS-next;x=HS-data; C 、x=HS-data;HS=HS-next; D 、s-next=Hs;Hs=HS-next; 表达式a*(b+c)-d 的后缀表达式为( B ) A、abcdd+- B、abc+*d- C、abc*+d- D、-+*abcd 中缀表达式A-(B+C/D)*E 的后缀形式是( D ) A、AB-C+D/E* B、ABC+D/E* C、ABCD/E*+- D、ABCD/+E*- 一个队列的入列序列是1,2,3,4, 则队列的输出序列是( B ) A、4,3,2,1 B、1,2,3,4 C、1,4,3,2 D、3,2,4,1 循环队列SQ 采用数组空间SQ.base[0,n-1]存放其元素值,已知其头尾指针分别是front 和rear,则判定此循环队列为空的条件是( ) A、Q.rear-Q.front==n B、Q.rear-Q.front-1==n C、Q.front==Q.rear D、Q.front==Q.rear+1 循环队列SQ 采用数组空间SQ.base[0,n-1]存放其元素值,已知其头尾指针分别是front 和rear,则判定此循环队列为满的条件是( ) A、Q.front==Q.rear B、Q.front!=Q.rear C、Q.front==(Q.rear+1)%n D、Q.front!=(Q.rear+1)%n 若在一个大小为6 的数组上实现循环队列,且当前rear 和front 的值分别为0 和3,当从队列中删除一个元素,再加入两个元素后,rear 和front 的值分别为( ) A、1,5 B、2, 4 C、4,2 D、5,1 用单链表表示的链式队列的队头在链表的( )位置 A、链头 B、链尾 C、链中 判定一个链队列Q(最多元素为n 个)为空的条件是( ) A、Q.front==Q.rear B、Q.front!=Q.rear C、Q.front==(Q.rear+1)%n D、Q.front!=(Q.rear+1)%n 在链队列Q 中,插入s 所指结点需顺序执行的指令是( ) A 、Q.front-next=s;f=s; B 、Q.rear-next=s;Q.rear=s; C 、s-next=Q.rear;Q.rear=s; D 、s-next=Q.front;Q.front=s; 在一个链队列Q 中,删除一个结点需要执行的指令是( ) A、Q.rear=Q.front-next; B、Q.rear-next=Q.rear-next-next; C、Q.front-next=Q.front-next-next; D、Q.front=Q.rear-next; 用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时( ) A、仅修改队头指针 B、仅修改队尾指针 C、队头尾指针都要修改 D、队头尾指针都可能要修改。 栈和队列的共同点是( ) A、都是先进后出 B、都是先进先出 C、只允许在端点处插入和删除元素 D、没有共同点 消除递归( )需要使用栈。 A、一定 B、不一定 设有一顺序栈S,元素s1,s2,s3,s4,s5,s6 依次进栈,如果6 个元素出栈的顺序是s2,s3,s4,s6,s5,s1,则栈的容量至少应该是( ) A、2 B、3 C、 5 D、 6 若一个栈的

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档