栈和队列习题数据结构.docx

想预览更多内容,点击预览全文

申明敬告:

本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己完全接受本站规则且自行承担所有风险,本站不退款、不进行额外附加服务;如果您已付费下载过本站文档,您可以点击这里二次下载

文档介绍

习题三栈和队列

一单项选择题

1. 在作进栈运算时,应先判别栈是否 (① ),在作退栈运算时应先判别栈是否 (② )。当

栈中元素为n 个,作进栈运算时发生上溢 ,则说明该栈的最大容量为(③ )。

①, ②: A. 空 B.满C. 上溢 D. 下溢

③: A. n-1 B. n C. n+1 D. n/2

2.若已知一个栈的进栈序列是 1,2,3,? , n,其输出序列为p1,p2,p3,...,pn,若

p1= 3,则p2为( )。

A 可能是 2 B 一定是 2 C 可能是 1 D 一定是 1

3. 有六个元素 6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列( )

A. 5 4 3 6 1 2 B. 4 5 3 1 2 6 C. 3 4 6 5 2 1 D. 2 3 4 1 5 6

4.设有一顺序栈S,元素 s1,s2,s3,s4,s5,s6 依次进栈, 如果 6 个元素出栈的顺序是 s2,s3,s4, s6 , s5,s1,

则栈的容量至少应该是 ( )

B. 3 C. 5

5. 若栈采用顺序存储方式存储,现两栈共享空间V[1..m], top[i] 代表第 i 个栈( i =1,2)栈顶,

栈1 的底在 v[1],栈2 的底在 V[m] ,则栈满的条件是( )。

A. |top[2]-top[1]|=0 B. top[1]+1=top[2]

C. top[1]+top[2]=m D. top[1]=top[2]

6.执行完下列语句段后, i值为:( )

int f(int x)

{ return ((x>0) x* f(x-1):2);}

int i ;

i =f(f(1));

A.2 B. 4 C. 8 D. 无限递归

7. 表达式 3* 2^(4+2*2-6*3)-5 求值过程中当扫描到 6时,对象栈和算符栈为( ),其中 ^

为乘幂。

最近下载