来测试一下你对数据结构中的栈和队列的了解有多少?

Java学习

针对Java初学者以及自学者!

请在留言区把你的答案留下来!我会给你答复!

选择题

1.向一个栈顶指针为top的链栈中插入一个结点s,执行()。

A.top.next=s;

B.s.next=top.next ;top.next=s;

C.s.next=top;top=s;

D.s.next=top; top=top.next ;

2.栈通常采用的两种存储结构为()。

A.散列方式和索引方式

B.顺序存储结构和链式存储结构

C.链表存储结构和数组

D.线性存储结构和非线性存储结构

3.一个栈的入栈序列是a,b,c,d,e,则栈的输出序列不可能是()。

A.e,d,c,b,a

B.d,e,c,b,a

C.d,c,e,a,b

D.a,b,c,d,e

4.一个顺序栈一且说明,其占用空间的大小()。

A.已固定

B.可队改变

C.不能固定

D.动态变化

5.判断顺序栈(最多结点数为m )为栈满的条件是()。

A.top==0

B.top==m

C.top!=

D.top!=m

6.在栈中存取数据的原则是()。

A.先进先出

B.后进先出

C.后进后出

D.随意进出

7.经过队下栈运算后,x 的值是()。InitStack(s);Push(s,a);Push(s,b);Pop(s,x);GetTop(s,x);

A.a

B.b

C.1

D.O

8.若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为P1,P2,…,Pn,则Pi为()。

A.n-i

B.I

C.n-i+1

D.不确定

9.一个队列的进队序列为1,2,3,4,则出队序列为()。

A.1,2,3,4

B.4,3,2,1

C.1,4,3,2

D.3,2,4,1

10.4 个结点进队序列为1,2,3,4,进行一次出队运算后,队头结点为()。

A. 1

B.2

C.3

D.4

11.若用单链表来表示队列,则应该选用()。

A.带尾指针的非循环队列

B.带尾指针的循环队列

C.带头指针的非循环队列

D.带头指针的循环队列

12.循环队列为空队列的条件是()。

A.Q.rear==Q.front

B.(Q.rear+1)%MaxSize==Q.front

C.Q.rear=

D.Q.front=0

13.在一个链队中,假定front 和rear 分别为队首和队尾指针、则删除一个结点的操作为()。

A.front=front.next

B.rear=rear.next

C.rear=front.next

D.front =rear.next

14.栈和队列的共同点是()。

A.都是先进后出

B.都是先进先出

C.只允许在端点处插入和删除元素

D.没有共同点

15.插入和删除只能在表的一端进行的线性表,称为()。

A.循环队列

B.栈

C.队列

D.循环栈

填空题

1.允许在线性表的一端进行插入和删除的线性表称为_________。

2.当栈空时再做出栈运算将产_______;当栈满时再做进栈运算将产生_____。

3.带有头结点的单链表head 为空的条件是______。

4.设有一空栈,现有输入序列1,2,3,4,5,经过push,push,pop,push,push后,输出序列是_____。

5.栈是一种具有_____特性的线性表。

判断題

()1.栈是一种后进先出的线性表。

()2.在n个元素进栈后,它们的出栈顺序和进栈顺序一定 正好相反。

()3.栈是线性表的特例,是指元素先进后出。

()4.用链式存储结构保存的线性表,称为链表。

()5.顺序表与顺序栈没有区别,它们都是顺序存储结构。

()6.队列的特点是先进先出。

()7.将插入和删除限定在表的同一端进行的线性表是队外。

()8.队列是一种对进队列、出队列操作的次序做了限制的线性表

()9.栈和队列没有区别,都是受限的线性表。据的线性表

()10.链栈与链队没有区别,都是用链式存储结构保存数据

正确答案在下面

正确答案明天将在本篇文章的留言区公布!敬请期待!!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180204G00RKZ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券