数据结构第3章栈与队列习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第3章栈与队列

一、单项选择题

1.元素A、B、C、D依次进顺序栈后,栈顶元素是,栈底元素是。

A.A B.B

C.C D.D

2.经过以下栈运算后,x的值是。

InitStack(s);Push(s,a);Push(s,b);Pop(s,x);GetTop(s,x);

A.a B.b

C.1 D.0

3.已知一个栈的进栈序列是ABC,出栈序列为CBA,经过的栈操作是。

A.push,pop,push,pop,push,pop B.push,push,push,pop,pop,pop

C.push,push,pop,pop,push,pop D.push,pop,push,push,pop,pop 4.设一个栈的输入序列为A、B、C、D,则借助一个栈所得到的序列是。

A.A,B,C,D B.D,C,B,A

C.A,C,D,B D.D,A,B,C

5.一个栈的进栈序列是a,b,c,d,e,则栈的不可能的输出序列是。

A.edcba B.decba

C.dceab D.abcde

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

A.i B.n-i

C.j-i+1 D.不确定

7.已知一个栈的进栈序列是1,2,3,……,n,其输出序列是p1,p2,…,Pn,若p1=n,则pi的值。

A.i B.n-i

C.n-i+1 D.不确定

8.设n个元素进栈序列是1,2,3,……,n,其输出序列是p1,p2,…,p n,若p1=3,则p2的值。

A.一定是2 B.一定是1

C.不可能是1 D.以上都不对

9.设n个元素进栈序列是p1,p2,…,p n,其输出序列是1,2,3,……,n,若p3=1,则p1的值。

A.可能是2 B.一定是1

C.不可能是2 D.不可能是3

10.设n个元素进栈序列是p1,p2,…,p n,其输出序列是1,2,3,……,n,若p3=3,则p1的值。

A.可能是2 B.一定是2

C.不可能是1 D.一定是1

11.设n个元素进栈序列是p1,p2,…,p n,其输出序列是1,2,3,……,n,若p n=1,则p i(1≤i≤n-1)的值。

A.n-i+1 B.n-i

C.i D.有多种可能

12.判定一个顺序栈S为空的条件为。

A.S.top= =S.base B.S.top!= S.base

C.S.top!= S.base+S.stacksize D.S.top= = S.base+S.stacksize 13.判定一个顺序栈S为栈满的条件是。

A.S.top-S.base= =S.stacksize B.S.top= = S.base

C.S.top-S.base!=S.stacksize D.S.top!= S.base

14.链栈与顺序栈相比有一个明显的优点,即。

A.插入操作方便B.通常不会出现栈满的情况

C.不会出现栈空的情况D.删除操作更加方便

15.最不适合用作链栈的链表是。

A.只有表头指针没有表尾指针的循环双链表

B.只有表尾指针没有表头指针的循环双链表

C.只有表尾指针没有表头指针的循环单链表

D.只有表头指针没有表尾指针的循环单链表

16.如果以链表作为栈的存储结构,则退链栈操作时。

A.必须判别链栈是否满B.判别链栈元素的类型

C.必须判别链栈是否空D.对链栈不作任何判别

17.向一个不带头结点的栈顶指针为1st的链栈中插入一个s所指结点时,则执行。

A.1st->next=s; B.s->next=1st->next;1st->next=s;

C.s->next=1st;1st=s; D.s->next=1st;1st->next;

18.从一个不带头结点的栈顶指针为S的链栈中删除一个结点时,用x保存被删除结点的值,则执行。

A.x=S; S = S ->next; B.x= S ->data;

C.S = S ->next;x= S ->data; D.x= S ->data; S = S ->next; 19.经过以下队列运算后,队头的元素是。

InitQueue(qu);enQueue(qu,a);enQueue(qu,b);enQueue(qu,c);deQueue(qu);

A.a B.b

C.1 D.0

20.经过以下队列的运算后,QueueEmpty(q) 的值是。

InitQueue(qu);enQueue(qu,a);enQueue(qu,b);deQueue(qu,x);deQueue(qu,y);

A.a B.b

C.1 D.0

21.元素A,B,C,D顺序连续进入队列qu后,队头元素是,队尾元素是。

A.A B.B

C.C D.D

22.一个队列的入队序列为1,2,3,4,则队列可能的输出序列是_______.

A.4,3,2,1 B.1,2,3,4

C.1,4,3,2 D.3,2,4,1

二、填空题

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

2.顺序栈和链栈的区别仅在于不同。

3.如果栈的最大长度难以估计,则最好使用。

4.一个栈的输入序列是1,2,3,4,5,则栈的输出序列1,2,3,4,5是。5.若用不带头结点的单链表来表示链栈S,则创建一个空栈所要执行的操作

相关文档
最新文档