栈和队列练习1

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

第三章栈和队列

一、选择题部分

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

(A) edcba(B)decba(C)dceab (D)abcde

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

(A)线性存储结构和链表存储结构(B)散列方式和索引方式

(C)链表存储结构和数组(D)线性存储结构和非线性存储结构

3.判定一个顺序栈ST(最多元素为m0)为空的条件是( B)。

(A) ST-〉top!=0 (B)ST-〉top==0

(C)ST-〉top!=m0 (D)ST-〉top=m0

4.判定一个栈ST(最多元素为m0)为栈满的条件是( C)。

(A)ST-〉top!=0 (B)ST-〉top==0

(C)ST-〉top==m0(D)ST-〉top==m0-1

5.一个队列的入列序列是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

6.循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是front和rear 则当前队列中的元素个数是(B )

(A)(rear-front+m)%m (B) rear-front+1 (C)rear-front-1(D)rear-front

7.栈和队列的共同点是(C )

(A)都是先进后出(B)都是先进先出

(C)只允许在端点处插入和删除元素(D)没有共同点

8.表达式a*(b+c)-d的后缀表达式是(B)。

(A)abcd*+-(B)abc+*d- (C)abc*+d-(D)-+*abcd

9.4个元素a1,a2,a3和a4依次通过一个栈,在a4进栈前,栈的状态,则不可能的出栈序是(C)

(A)a4,a3,a2,a1 (B)a3,a2,a4,a1

(C)a3,a1,a4,a2 (D)a3,a4,a2,a1

10.以数组Q[0..m-1]存放循环队列中的元素,变量rear和qulen分别指示循环队列中队尾元素的实际位置和当前队列中元素的个数,队列第一个元素的实际

位置是( D )

(A)rear-qulen (B)rear-qulen+m

(C)m-qulen (D)(1+rear+m-qulen)% m

二、填空题部分

1.栈的特点是(先进后出),队列的特点是(先进先出)。

2.线性表、栈和队列都是(线性)结构,可以在线性表的(任何)位置插入和删除元素,对于栈只能在(栈顶)插入和删除元素,对于队列只能在(队尾)插入元素和(队头)删除元素。

3.一个栈的输入序列是12345,则栈的输出序列12345是(可能的)。

4.设栈S和队列Q的初始状态皆为空,元素a1,a2,a3,a4,a5和a6依次通过一个栈,一个元素出栈后即进入队列Q,若6个元素出队列的顺序是a3,a5,a4,a6,a2,a1则栈S至少应该容纳( 4 )个元素。

三. 选择题

1. 栈和队列的共同点是_C__

都是先进后出

都是先进先出

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

没有共同点

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

__C_

edcba

decba

dceab

abcde

3. 一个栈的入栈序列是1,2,3,4,则栈的可能的输出序列是__B_

1,4,2,3

2,1,4,3

4,2,1,3

4,2,3,1

4. 一个队列的入对序列是1,2,3,4,则队列的输出序列是_B___

4,3,2,1

1,2,3,4

1,4,3,2

3,2,4,1

5. 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为

p1,p2,p3,…,pn,若p1=n,则pi为___C_

I

n=I

n-I+1

不确定

6. 表达式a*(b+c)-d的后缀表达式是__B_

abcdd+-

abc+*d-

abc*+d-

-+*abcd

7. 向一个栈顶指针为HS的链栈中插入一个s所指结点时,则执行_C___

HS->next=s;

s->next=HS->next;HS->next=s;

s->next=HS;HS=s;

s->next=HS;HS=HS->next;

8. 从一个栈顶指针为HS的链栈中删除一个结点时,用x保存被删结点的值,则执行___D_

x=HS;HS=HS->next;

x=HS->data;

HS=HS->next;x=HS->data;

x=HS->data;HS=HS->next;

四、填空题

1、在一个具有n个单元的顺序栈中,假设以地址低端(即下标为1的单元)作为栈底,以top作为栈顶指针,则当做堆栈处理时,top变化为 top++ 。

2、在一个具有n个单元的顺序栈中,假设以地址高端(即下标为n 的单元)作为栈底,以top作为栈顶指针,则当作退栈处理时,top变化为 top++ 。

3、在一个循环队列中,队首指针指向队首元素的实际地

址。

4、从循环队列中删除一个元素时,其操作是

Q.front=(Q.front+1) % MAXSIZE

5、在具有n个单元的循环队列中,队满时共有 n-1 个元素。

6、一个栈的输入序列是1,2,3,4,5,则栈的输出序列4,3,5,1,2是

不可能的。

7、一个栈的输入序列是1,2,3,4,5,则栈的输出序列1,2,3,4,5是

可能的。

相关文档
最新文档