快捷搜索: 王者荣耀 脱发

栈与队列客观题 2021-1-12

1-1 若一个栈的输入序列为1,2,3,…,N,输出序列的第一个元素是i,则第j个输出元素是j−i−1。

F

1-2 若一个栈的输入序列为{1, 2, 3, 4, 5},则不可能得到{3, 4, 1, 2, 5}这样的出栈序列。

T

1-3 所谓“循环队列”是指用单向循环链表或者循环数组表示的队列。

F 特指循环数组

1-4 在用数组表示的循环队列中,front值一定小于等于rear值。

F 循环数组 大于小于等于都有可能 大于max后会取余

1-5 栈和队列的存储方式,既可以是顺序方式,也可以是链式方式。

T

2-1 假设有5个整数以1、2、3、4、5的顺序被压入堆栈,且出栈顺序为3、5、4、2、1,那么为了获得这样的输出,堆栈大小至少为:

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

c

2-2 设一个栈的输入序列是1、2、3、4、5,则下列序列中,是栈的合法输出序列的是?

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

a

2-3 设一个堆栈的入栈顺序是1、2、3、4、5。若第一个出栈的元素是4,则最后一个出栈的元素必定是:

A.1 B.3 C.5 D.1或者5

d

2-4 现有队列 Q 与栈 S,初始时 Q 中的元素依次是{ 1, 2, 3, 4, 5, 6 }(1在队头),S 为空。若允许下列3种操作:(1)出队并输出出队元素;(2)出队并将出队元素入栈;(3)出栈并输出出栈元素,则不能得到的输出序列是:

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

c

2-5 若用大小为6的数组来实现循环队列,且当前front和rear的值分别为0和4。当从队列中删除两个元素,再加入两个元素后,front和rear的值分别为多少?

A.2和0 B.2和2 C.2和4 D.2和6

a

2-6 如果循环队列用大小为m的数组表示,队头位置为front、队列元素个数为size,那么队尾元素位置rear为:

A.front+size B.front+size-1 C.(front+size)%m D.(front+size-1)%m

d

2-7 在一个不带头结点的非空链式队列中,假设f和r分别为队头和队尾指针,则插入s所指的结点运算是( )。

A.f->next=s; f=s; B.r->next=s; r=s; C.s->next=s; r=s; D.s->next=f; f=s;

b
经验分享 程序员 微信小程序 职场和发展