栈和队列习题集

栈和队列部分习题

一、单项选择题

1.栈的插入和删除操作在______进行。

A、栈顶

B、栈底

C、任意位置

D、指定位置

2.在栈中存取数据的原则是______。

A、先进先出

B、后进先出

C、后进后出

D、随意进出

3.当利用大小为N的数组顺序存储一个栈时,假定用top==N表示栈空,则向这个栈插入

一个元素时,首先应执行______语句修改top指针。

A、top++;

B、top--;

C、top=0;

D、top=N-1;

4.判断一个由ST指向的栈(最多元素m0)为满的条件是______。

A、ST->top !=0

B、ST->top= =0

C、ST->top!=m0

D、ST->top = =m0-1

5.对于顺序栈stack[0..m],假设栈底在stack[0]处,并用top指向栈顶元素之后的空位置,

则判断栈空的条件是______。

A、top= = -1

B、top= =0

C、top= =1

D、top==n-1

6.假定利用数组a[N+1]顺序存储一个栈,用top表示栈顶指针,用top=N+1表示栈空,该

数组所存储的栈的最大长度为N,则表示栈满的条件为______。

A、top==1

B、top==-1

C、top=0

D、top=N-1

7.假定利用数组a[N]顺序存储一个栈,用top表示栈顶指针,用top==-1表示栈空,并已

知栈未满,当元素x进栈时所执行的操作为______。

A、a[--top]=x;

B、a[top--]=x;

C、a[++top]=x;

D、a[top++]=x;

8.假定利用数组a[N]顺序存储一个栈,用top表示栈顶指针,用top==-1表示栈空,并已

知栈未空,当退栈并返回栈顶元素时所执行的操作为______。

A、return a[--top];

B、return a[top--];

C、return a[++top];

D、return a[top++];

9.假定一个链式栈的栈顶指针用top表示,该链式栈为空的条件______。

A、top!=NULL

B、top==top->next

C、top== NULL

D、top!= top->next

栈和队列习题集

10.假定一个链式栈的栈顶指针用top表示,当p所指向的结

点进栈时,执行的操作为______。

A、p->next=top; top=top->next;

B、top=p; p->next=top;

C、p->next=top->next; top->next=p;

D、p->next=top; top=p;

栈和队列习题集

11.假定一个链式栈的栈顶指针用top表示,退栈时所执行的

操作为______。

A、top->next=top;

B、top=top->data;

C、top=top->next;

D、top->next=top->next->next;

12.若让元素1,2,3,4依次进栈,则出栈次序不可能出现______的情况。

A、3,2,1,4

B、2,1,4,3

C、4,3,2,1

D、1,4,2,3

13.由两个栈共享一个向量空间的好处是:______。

A、减少存取时间,降低下溢发生的机率

B、节省存储空间,降低上溢发生的机率

C、减少存取时间,降低上溢发生的机率

D、节省存储空间,降低下溢发生的机率

14.队列结构通常采用的两种存储结构是______。

相关推荐
相关主题
热门推荐