选择题
1.向一个栈顶指针为top的链栈中插入一个结点s,执行( )。
A.top.next=s;
B.s.next=top.next ;top.next=s;
C.s.next=top;top=s;
D.s.next=top; top=top.next ;
2.栈通常采用的两种存储结构为( )。
A.散列方式和索引方式
B.顺序存储结构和链式存储结构
C.链表存储结构和数组
D.线性存储结构和非线性存储结构
3.一个栈的入栈序列是a,b,c,d,e,则栈的输出序列不可能是( )。
A.e,d,c,b,a
B.d,e,c,b,a
C.d,c,e,a,b
D.a,b,c,d,e
4.一个顺序栈一且说明,其占用空间的大小( )。
A.已固定
B.可队改变
C.不能固定
D.动态变化
5.判断顺序栈( 最多结点数为m )为栈满的条件是( )。
A.top==0
B.top==m
C.top!=0
D.top!=m
6.在栈中存取数据的原则是( )。
A.先进先出
B.后进先出
C.后进后出
D.随意进出
7.经过队下栈运算后,x 的值是( )。InitStack(s);Push(s,a);Push(s,b);Pop(s,x);GetTop(s,x);
A.a
B.b
C.1
D.O
8.若已知一个栈的入栈序列是1,2, 3,…,n,其输出序列为P1,P2,…,Pn, 则Pi为( )。
A.n-i
B.I
C.n-i+1
D.不确定
9.一个队列的进队序列为1,2,3,4,则出队序列为( )。
A.1, 2, 3, 4
B.4, 3, 2,1
C.1, 4, 3, 2
D.3, 2, 4, 1
10.4 个结点进队序列为1,2,3,4,进行一次出队运算后,队头结点为( )。
A. 1
B. 2
C. 3
D. 4
11.若用单链表来表示队列,则应该选用( )。
A.带尾指针的非循环队列
B.带尾指针的循环队列
C.带头指针的非循环队列
D.带头指针的循环队列
12.循环队列为空队列的条件是( )。
A.Q.rear==Q.front
B.(Q.rear+1)%MaxSize==Q.front
C.Q.rear=0
D.Q.front=0
13.在一个链队中,假定front 和rear 分别为队首和队尾指针、则删除一个结点的操作为( )。
A.front=front.next
B.rear=rear.next
C.rear=front.next
D.front =rear.next
14.栈和队列的共同点是( )。
A.都是先进后出
B.都是先进先出
C.只允许在端点处插入和删除元素
D.没有共同点
15.插入和删除只能在表的一端进行的线性表,称为( )。
A.循环队列
B.栈
C.队列
D.循环栈
填空题
1.允许在线性表的一端进行插入和删除的线性表称为_________。
2.当栈空时再做出栈运算将产_______; 当栈满时再做进栈运算将产生_____。
3.带有头结点的单链表head 为空的条件是______。
4.设有一空栈,现有输入序列1, 2, 3, 4, 5, 经过push, push, pop,push,push后,输出序列是_____。
5.栈是一种具有_____特性的线性表。
判断題
( )1.栈是一种后进先出的线性表。
( )2.在n个元素进栈后,它们的出栈顺序和进栈顺序一定 正好相反。
( )3.栈是线性表的特例,是指元素先进后出。
( )4.用链式存储结构保存的线性表,称为链表。
( )5.顺序表与顺序栈没有区别,它们都是顺序存储结构。
( )6.队列的特点是先进先出。
( )7.将插入和删除限定在表的同一端进行的线性表是队外。
( )8.队列是一种对进队列、出队列操作的次序做了限制的线性表
( )9.栈和队列没有区别,都是受限的线性表。据的线性表
( )10.链栈与链队没有区别,都是用链式存储结构保存数据