数据结构练习 第三章 栈和队列.docx
《数据结构练习 第三章 栈和队列.docx》由会员分享,可在线阅读,更多相关《数据结构练习 第三章 栈和队列.docx(38页珍藏版)》请在三一办公上搜索。
1、数据结构练习 第三章 栈和队列数据结构练习第三章 栈和队列 一、选择题 1栈和队列的共同特点是( )。 A.只允许在端点处插入和删除元素 B.都是先进后出 C.都是先进先出 D.没有共同点 2向顺序栈中压入新元素时,应当。 A先移动栈顶指针,再存入元素 B先存入元素,再移动栈顶指针 C先后次序无关紧要 D同时进行 3允许对队列进行的操作有( )。 A. 对队列中的元素排序 B. 取出最近进队的元素 C. 在队头元素之前插入元素 D. 删除队头元素 4用链接方式存储的队列,在进行插入运算时( ). A. 仅修改头指针 B. 头、尾指针都要修改 C. 仅修改尾指针 D.头、尾指针可能都要修改 5设
2、用链表作为栈的存储结构则退栈操作。 A. 必须判别栈是否为满 B. 必须判别栈是否为空 C. 判别栈元素的类型 D.对栈不作任何判别 6设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点X,则入队列的操作序列为。 A.front-next=s;front=s; B. s-next=rear;rear=s; C. rear-next=s;rear=s; D. s-next=front;front=s; 7设指针变量top指向当前链式栈的栈顶,则删除栈顶元素的操作序列为。 A.top=top+1; B. top=top-1; C. t
3、op-next=top; D. top=top-next; 8队列是一种的线性表。 A. 先进先出 B. 先进后出 C. 只能插入 D. 只能删除 9设输入序列1、2、3、n经过栈作用后,输出序列中的第一个元素是n,则输出序列中的第i个输出元素是。 A. n-i B. n-1-i C. n+l -i D.不能确定 10设输入序列为1、2、3、4、5、6,则通过栈的作用后可以得到的输出序列为。 A. 5,3,4,6,1,2 B. 3,2,5,6,4,1 C. 3,1,2,5,4,6 D. 1,5,4,6,2,3 11队列的删除操作是在进行。 A队首 B队尾 C队前 D队后 12当利用大小为N 的
4、数组顺序存储一个栈时,假定用top = = N表示栈空,则退栈时,用语句修改top指针。 Atop+; Btop=0; Ctop-; Dtop=N; 13队列的插入操作是在进行。 1 A队首 B队尾 C队前 D队后 14若已有一个栈,输入序列为A,B,C,D,E,那么下面哪种序列不可能得到? AABCDE BEDCBA CBAEDC DECDBA (d) 注意: 入栈和出栈操作可以交替进行,因此就可能有多种输出序列了。 15栈和队列共同具有的特点是 A.都是先进后出 B.都是先进先出 C.只允许在端点进行操作运算 D.既能先进先出,也能先进后出 16若用一个有6个单元的数组来实现循环队列,re
5、ar和front的初值分别为0和3。则从队列中删除一个元素,再添加两个元素后,rear和front的值分别为 A.1和5 B.2和4 C.4和2 D.5和1 17一个栈的入栈序列是a,b,c,d,e,则栈的输出序列不可能是( ) A. dceab B. decba C. edcba D. abcde 18元素大小为1个单元,容量为n个单元的非空顺序栈中,以地址高端为栈底,以top作为栈顶指针,则出栈处理后,top的值应修改为( ) A. top=top B. top=n-1 C. top=top-1 D. top=top+1 19设有一个栈,按A、B、C、D的顺序进栈,则可能为出栈序列的是(
6、) A.DCBA B.CDAB C.DBAC D.DCAB 20在一个具有n个单元的顺序栈中,假定以地址低端作为栈底,以top为栈顶指针,则当做出栈处理时,top变化为( ) A.top+ B.top- C.top不变 D.top=0 21. 关于栈和队列的说法中正确的是 A栈和队列都是线性结构 B.栈是线性结构,队列不是线性结构 C.栈不是线性结构,队列是线性结构 D.栈和队列都不是线性结构 22. 设一个栈的输入序列是a,b,c,d,则所得到的输出序列不可能出现的是 Aa,b,c,d B.a,b,d,c C.d,c,b,a D.c,d,a,b 23. 在具有m个单元的循环队列中,队头指针为
7、front,队尾指针为rear,则队满的条件是 Afront=rear B.(front+1)%m=rear C.rear+1=front D.(rear+1)%m=front 24. 循环队列存储在数组A0.m中,则入队时的操作为( D)。 A. rear=rear+1 B. rear=(rear+1) % (m-1) C. rear=(rear+1) % m D. rear=(rear+1) % (m+1) 25. 顺序栈S中top为栈顶指针,指向栈顶元素所在的位置,elem为存放栈的数组,则元素e进栈操作的主要语句为 A.s.elemtop=e; B.s.elemtop+1=e; s.t
8、op=s.top+1; s.top=s.top+1; C.s.top=s.top+1; D.s.top=s.top+1; s.elemtop+1=e; s.elemtop=e; 2 26. 循环队列sq中,用数组elem025存放数据元素,sq.front指示队头元素的前一个位置,sq.rear指示队尾元素的当前位置,设当前sq.front为20,sq.rear为12,则当前队列中的元素个数为 A.8 B.16 C.17 D.18 27. 有关栈的描述,正确的是 A.栈是一种先进先出的特殊的线性表 B.只能从栈顶执行插入、删除操作 C.只能从栈顶执行插入、栈底执行删除 D.栈顶和栈底均可执行插
9、入、删除操作 28. 设顺序循环队列Q0:M-1的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为。 A. R-F B. F-R C. (R-F+M)M D. (F-R+M)M 29. 设一数列的输入顺序为1,2,3,4,5,6,通过栈操作不可能排成的输出序列为。 A3,2,5,6,4,1 B1,5,4,6,2,3 C2,4,3,5,1,6 D4,5,3,6,2,1 30. 设有一个栈,元素的进栈次序为A,B,C,D,E,则下列是不可能的出栈序列。 AA,B,C,D,E BB,C,D,E,A CE,A,B,C,D D
10、E,D,C,B,A 31在具有N个单元的顺序存储循环队列中,假定front和rear分别为对头指针和对尾指针,则判断对满的条件为。 Afront= rear B(rear+1)%MAXSIZE=front Cfront-rear=1 Drear%MAXSIZE=front 32一个元素进入队列的时间复杂度是。 AO(1) BO(n) CO(n2) DO(log2n) 33若让元素1,2,3依次进栈,则出栈次序不可能出现种情况。 A.3,2,1 B.2,1,3 C.3,1,2 D.1,3,2 34假定一个链队的队首和队尾指针分别为front和rear,则判断队空的条件是。 A.front=NUL
11、L B.front!=NULL C.rear!=NULL D.front=rear 35若让元素a,b,c依次进栈,则出栈次序不可能出现种情况。 Acba Bbac Ccab Dacb 36在一个链队列中,假定front和rear分别为队头和队尾指针,则插入*s结点的操作应执行。 Afront-next=s; front=s; Bs-next=rear; rear=s; C rear-next=s; rear=s; Ds-next=front; front=s; 37栈的插入与删除操作在进行。 A.栈顶 B.栈底 C.任意位置 D.指定位置 38当利用大小为N的一维数组顺序存储一个栈时,假定用
12、top=1表示栈空,则向这个栈插入一个元素时,首先应执行语句修改top指针。 3 Atop+; Btop-; Ctop=NULL ; Dtop; 39当采用顺序存储方式存储队列时,可能出现存储空间剩余,而不允许继续入队的情况,称为。 A溢出 B 假溢出 C队列不能用顺序存储方式 D数组存储空间过小 40当利用大小为N的一维数组顺序存储一个循环队列时,该队列的最大长度为。 A.N-2 B.N-1 C.N D.N+1 41从一个循环顺序队列删除元素时,首先需要。 A.前移一位队首指针 B.后移一位队首指针 C.取出队首指针所指位置上的元素 D.取出队尾指针所指位置上的元素 42循环队列存储在数组A
13、0.m中,则入队时的操作为( )。 A. rear=rear+1 B. rear=(rear+1) % (m-1) C. rear=(rear+1) % m D. rear=(rear+1) % (m+1) 434个园盘的Hahoi塔,总的移动次数为( )。 A.7 B. 8 C.15 D.16 44对于栈操作数据的原则是。 A. 先进先出 B. 后进先出 C. 后进后出 D. 不分顺序 45有六个元素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 46
14、设栈的输入序列是1,2,3,4,则不可能是其出栈序列。 A. 1,2,4,3, B. 2,1,3,4, C. 1,4,3,2, D. 4,3,1,2, E. 3,2,1,4, 47如进栈序列1,2,3,4,5。可能得到的出栈序列为( ) A1,2,5,3,4 B3,1,2,5,4 C3,2,5,4,1 D1,4,2,3,5 E都不可能 48一个栈的入栈序列为A,B,C,D,E,则栈的不可能的出栈序列是( )。 A. ABCDE B. EDCBA C. DECBA D.DCEAB 49function calc(x,y :integer) : integer; begin if y=1 then
15、 calc :=x else calc := calc (x,y-1)+x end; a,b均为正整数,则 calc(a,b)=( ) A.a*(b-1) B. a*b C. a+b D. a+a 50执行完下列语句段后,i值为:。 int f(int x) return (x0) ? x* f(x-1):2); int i ; i =f(f(1); A2 B. 4 C. 8 D. 无限递归 51表达式a*(b+c)-d的后缀表达式是( )。 Aabcd*+- B. abc+*d- C. abc*+d- D. -+*abcd 52允许对队列进行的操作有( )。 4 A. 对队列中的元素排序 B
16、. 取出最近进队的元素 C. 在队头元素之前插入元素 D. 删除队头元素 53用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时( ) A仅修改队头指针 B.仅修改队尾指针 C队头,队尾指针都可能要修改 D.队头,队尾指针都要修改 54对于循环队列( )。 A. 无法判断队列是否为空 B. 无法判断队列是否为满 C. 队列不可能满 D. 以上说法都不是 55循环队列A0.m-1存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是( )。 A. (rear-front+m)%m B. rear-front+1 C. rear-
17、front-1 D. rear-front 56若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为多少?( ) A. 1和 5 B. 2和4 C. 4和2 D. 5和1 57栈和队的共同点是( )。 A. 都是先进后出 B. 都是后进先出 C. 只允许在端点处插入和删除元素 D. 没有共同点 58设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5和e6依次通过栈S,一个元素出栈后即进队列Q,若6个元素出队的序列是e2,e4,e3,e6,e5,e1则栈S的容量至少应该是( )。 A
18、 6 B. 4 C. 3 D. 2 594个园盘的Hahoi塔,总的移动次数为( ). A.7 B.-8 C.15 D.16 60和顺序栈相比,链栈有一个比较明显的优势是。 A. 通常不会出现栈满的情况 B. 通常不会出现栈空的情况 C. 插入操作更容易实现 D. 删除操作更容易实现 61执行操作时,需要使用队列作辅助存储空间。 A. 查找哈希(Hash)表 B. 广度优先搜索网 C. 先序(根)遍历二叉树 D. 深度优先搜索网 62设有一顺序栈已经含有3个元素,如图3.1所示元素a4正等待进栈。下列不可能出现的出栈序列是 A.a3,a1,a4,a2 B. a3,a2,a4,a1 C. a3,
19、a4,a2,a1 D. a4,a3,a2,a1 a1 a2 Top a3 63在一个链队中,若f,r分别为队首、队尾指针,则插入s所指结点的操作为 A.f-next=s;f=s; B.r-next=s;r=s; C.s-next=r;r=s; D.s-next=f;f=s; 5 64若用一个大小为6的数组来实现循环队列,且当rear和front的值分别是0和3。 当从队列中删除一个元素,再加入两个元素后,rear 和front 的值分别是 A. 2和4 B. 1和5 C. 4和2 D. 5和1 65有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列? A. 5 4 3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构练习 第三章 栈和队列 数据结构 练习 第三 队列
链接地址:https://www.31ppt.com/p-3560165.html