《2022年数据结构练习题-栈和队列 .pdf》由会员分享,可在线阅读,更多相关《2022年数据结构练习题-栈和队列 .pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一选择题1. 对于 栈操 作数据的原则是() 。 【青岛大学 2001 五、 2(2 分) 】A. 先进先出 B. 后进先出 C. 后进后出 D. 不分顺序2. 在作进栈运算时, 应先判别栈是否( ),在作退栈运算时应先判别栈是否( )。当栈中元素为n 个 ,作进栈运算时发生上溢, 则说明该栈的最大容量为( ) 。为了增加内存空间的利用率和减少溢出的可能性, 由两个栈共享一片连续的内存空间时,应将两栈的 ( )分别设在这片内存空间的两端, 这样 , 当( ) 时,才产生上溢。, : A. 空 B. 满 C. 上溢 D. 下溢: A. n-1 B. n C. n+1 D. n/2 : A. 长度
2、 B. 深度 C. 栈顶 D. 栈底: A. 两个栈的栈顶同时到达栈空间的中心点. B. 其中一个栈的栈顶到达栈空间的中心点. C. 两个栈的栈顶在栈空间的某一位置相遇. D. 两个栈均不空, 且一个栈的栈顶到达另一个栈的栈底. 【上海海运学院 1997 二、 1(5 分) 】 【上海海运学院 1999 二、 1(5 分) 】3. 一个栈的输入序列为123n,若输出序列的第一个元素是n,输出第 i (1=i0) ? x* f(x-1):2); int i ; i =f(f(1); A2 B. 4 C. 8 D. 无限递归21. 设计一个判别表达式中左,右括号是否配对出现的算法,采用()数据结构
3、最佳。A线性表的顺序存储结构 B. 队列 C. 线性表的链式存储结构 D. 栈【西安电子科技大学 1996 一、 6(2 分) 】22. 用链接方式存储的队列,在进行删除运算时() 。 【北方交通大学 2001 一、 12(2分) 】A. 仅修改头指针 B. 仅修改尾指针 C. 头、尾指针都要修改 D. 头、尾指针可能都要修改23. 用不带头结点的单链表存储队列时, 其队头指针指向队头结点, 其队尾指针指向队尾结点,则在进行删除操作时( )。 【北京理工大学 2001 六、 3(2 分) 】名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - -
4、 - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - A仅修改队头指针 B. 仅修改队尾指针C. 队头、队尾指针都要修改 D. 队头 , 队尾指针都可能要修改24. 递归过程或函数调用时,处理参数及返回地址,要用一种称为()的数据结构。A队列 B多维数组 C栈 D. 线性表【福州大学 1998 一、 1(2 分) 】25. 假设以数组Am存放循环队列的元素, 其头尾指针分别为front和 rear , 则当前队列中的元素个数为() 。 【北京工商大学 2001 一、 2(3 分) 】A (rear-front+m)%m B rear-f
5、ront+1 C (front-rear+m)%m D(rear-front)%m 26. 循环队列A0.m-1存放其元素值,用front和 rear分别表示队头和队尾,则当前队列中的元 素数 是( )。 【南京理工大学 2001 一、 5(1.5 分) 】A. (rear-front+m)%m B. rear-front+1 C. rear-front-1 D. rear-front 27. 循环队列存储在数组A0.m 中,则入队时的操作为() 。 【中山大学 1999 一、 6(1 分) 】A. rear=rear+1 B. rear=(rear+1) mod (m-1) C. rear=
6、(rear+1) mod m D. rear=(rear+1)mod(m+1) 28. 若用一个大小为6 的数组来实现循环队列,且当前rear和 front的值分别为0 和 3,当从队列中删除一个元素,再加入两个元素后,rear和 front的值分别为多少?( )【浙江大学 1999 四、 1(4 分) 】A. 1 和 5 B. 2和 4 C. 4和 2 D. 5和 1 29. 已知输入序列为abcd 经过输出受限的双向队列后能得到的输出序列有()。 A. dacb B. cadb C. dbca D. bdac E. 以上答案都不对【西安交通大学 1996 三、 3 (3分) 】30. 若以
7、 1234 作为双端队列的输入序列,则既不能由输入受限的双端队列得到,也不能由输出受限的双端队列得到的输出序列是( )。 【西安电子科技大学 1996 一、 5(2 分) 】A. 1234 B. 4132 C. 4231 D. 4213 31. 最大容量为n 的循环队列, 队尾指针是rear , 队头是 front , 则队空的条件是() 。 A. (rear+1) MOD n=front B. rear=front Crear+1=front D. (rear-l) MOD n=front 【南京理工大学 1999 一、 16(2 分) 】32. 栈和队列的共同点是() 。 【燕山大学 20
8、01 一、 1(2 分) 】A. 都是先进先出 B. 都是先进后出C. 只允许在端点处插入和删除元素 D. 没有共同点33. 栈的特点是(), 队列的特点是(), 栈和队列都是() 。若进栈序列为 1,2,3,4 则()不可能是一个出栈序列(不一定全部进栈后再出栈);若进队列的序列为1,2,3,4 则()是一个出队列序列。 【北方交通大学 1999 一、 1(5 分) 】, : A. 先进先出 B. 后进先出 C. 进优于出 D. 出优于进: A. 顺序存储的线性结构 B.链式存储的线性结构C.限制存取点的线性结构 D.限制存取点的非线性结构, : A. 3,2,1,4 B. 3,2,4,1
9、C. 4,2,3,1 D. 4,3,2,1 F. 1,2,3,4 G. 1,3,2,4 34. 栈和 队都 是() 【南京理工大学 1997 一、 3(2 分) 】A顺序存储的线性结构 B. 链式存储的非线性结构名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - C. 限制存取点的线性结构 D. 限制存取点的非线性结构35. 设栈 S和队列 Q的初始状态为空,元素e1,e2,e3,e4,e5 和 e6 依次通过栈S ,一个元素出栈后
10、即进队列Q ,若 6 个元素出队的序列是e2,e4,e3,e6,e5,e1则栈 S的容量至少应该是 ( )。A 6 B. 4 C. 3 D. 2 【南京理工大学 2000 一、 6(1.5 分) 】36. 用单链表表示的链式队列的队头在链表的()位置。 【清华大学 1998 一、1 (2 分) 】A链头 B链尾 C链中37. 依次读入数据元素序列a ,b,c,d,e,f ,g 进栈 , 每进一个元素,机器可要求下一个元素进栈或弹栈, 如此进行, 则栈空时弹出的元素构成的序列是以下哪些序列?【哈尔滨工业大学 2000 七( 8分) 】Ad ,e,c,f ,b,g,a B. f,e,g,d,a,c
11、,b C. e , f ,d,g,b, c,a D. c,d,b,e,f ,a,g 三填空题1栈是 _的线性表,其运算遵循_的原则。【北京科技大学 1997 一、 3】2_是限定仅在表尾进行插入或删除操作的线性表。【燕山大学 1998 一、3 (1 分) 】3. 一个栈的输入序列是:1,2,3 则不可能的栈输出序列是_。【中国人民大学2001一、 1(2 分) 】4. 设有一个空栈,栈顶指针为1000H(十六进制 ) ,现有输入序列为1,2,3,4,5,经过PUSH,PUSH,POP,PUSH,POP,PUSH,PUSH之后,输出序列是 _,而栈顶指针值是_H。设栈为顺序栈,每个元素占4 个字
12、节。【西安电子科技大学 1998 二、 1(4 分) 】5. 当两个栈共享 一存 储区时, 栈利用 一维数组stack(1,n)表示,两栈顶指针为top1与top2, 则当栈 1 空时,top1为 _, 栈 2 空时 , top2为_, 栈满时为 _。【南京理工大学 1997 三、 1(3 分) 】6两个栈共享空间时栈满的条件_。 【中山大学 1998 一、 3(1 分) 】7在作进栈运算时应先判别栈是否_(1)_; 在作退栈运算时应先判别栈是否_(2)_ ;当栈中元素为 n 个,作进栈运算时发生上溢,则说明该栈的最大容量为_(3)_ 。为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享
13、一片连续的空间时,应将两栈的 _(4)_ 分别设在内存空间的两端,这样只有当_(5)_ 时才产生溢出。 【山东工业大学1994 一、 1(5 分) 】8. 多个栈共存时,最好用_作为存储结构。 【南京理工大学 2001 二、 7(2 分) 】9用 S表示入栈操作,X表示出栈操作, 若元素入栈的顺序为1234,为了得到1342 出栈顺序,相应的S和 X的操作串为 _。 【西南交通大学 2000 一、 5】10. 顺序栈用 data1.n存储数据,栈顶指针是 top, 则值为 x 的元素入栈的操作是_。【合肥工业大学 2001 三、 2 (2 分) 】11表达式 23+(12*3-2)/4+34*5/7)+108/9的后缀表达式是_。 【中山大学 1998 一、4(1 分) 】12. 循环队列的引入,目的是为了克服_。【厦门大学 2001 一、 1 (14/8 分)】名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -