Skip to content

习题

单项选择题

  1. 栈和队列具有相同的 _______ 。
A.

抽象数据类型

B.

逻辑结构

C.

存储结构

D.

运算

  1. 栈是一种 _______ 。
A.

顺序存储的线性结构

B.

链式存储的非线性结构

C.

限制存取点的线性结构

D.

限制存储结构的非线性结构

  1. 下列选项中, _______ 不是栈的基本操作。
A.

删除栈顶元素

B.

删除栈底元素

C.

判断栈是否为空

D.

将栈置为空栈

  1. 假定用数组 a[n] 存储一个栈,初始栈顶指针 top=-1,则元素 x 入栈的操作是 _______ 。
A.

a[--top]=x

B.

a[top--]=x

C.

a[++top]=x

D.

a[top++]=x

  1. 假定用数组 a[1…n] 存储一个栈,初始栈顶指针 top=1,则元素 x 入栈的操作是 _______ 。
A.

data[top--]=x

B.

data[top++]=x

C.

data[--top]=x

D.

data[++top]=x

  1. 假定用数组 a[1…n] 存储一个栈,初始栈顶指针 top=n+1,则元素 x 入栈的操作是 _______ 。
A.

data[--top]=x

B.

data[top++]=x

C.

data[top--]=x

D.

data[++top]=x

  1. 设有一个空栈,栈顶指针为 1000H,栈向高地址方向增长,每个元素占一个存储单元,执行 push、push、pop、push、pop、push、pop、push 操作后,栈顶指针为 _______ 。
A.

1002H

B.

1003H

C.

1004H

D.

1005H

  1. 和顺序栈相比,链栈有一个比较明显的优势,即 _______ 。
A.

通常不会出现栈满的情况

B.

通常不会出现栈空的情况

C.

插入操作更容易实现

D.

删除操作更容易实现

  1. 设链表不带头结点且所有操作均在表头进行,则下列最不适合作为链栈的是 _______ 。
A.

只有表头结点指针,没有表尾指针的双向循环链表

B.

只有表尾结点指针,没有表头指针的双向循环链表

C.

只有表头结点指针,没有表尾指针的单向循环链表

D.

只有表尾结点指针,没有表头指针的单向循环链表

  1. 向一个栈顶指针为 top 的链栈(不带头结点)中插入一个 x 结点,则执行 _______ 。
A.

top->next=x

B.

x->next=top->next; top->next=x

C.

x->next=top; top=x

D.

x->next=top; top=top->next

  1. 链栈(不带头结点)执行 pop 操作,并将出栈的元素存在 x 中,应该执行 _______ 。
A.

x=top; top=top->next

B.

x=top->data

C.

top=top->next; x=top->data

D.

x=top->data; top=top->next

  1. 经过以下栈的操作后,变量 x 的值为 _______ 。InitStack(st); Push(st, a); Push(st, b); Pop(st, x); GetTop(st, x);
A.

a

B.

b

C.

NULL

D.

false

  1. 3 个不同元素依次入栈,能得到 _______ 种不同的出栈序列。
A.

4

B.

5

C.

6

D.

7

  1. 设 (a, b, c, d, e, f) 以所给的次序入栈,若在入栈操作时,允许出栈操作,则下面不会出现的出栈序列为 _______ 。
A.

fedcba

B.

bcafed

C.

dcefba

D.

cabdef

  1. 4 个元素依次入栈的次序为 (a, b, c, d),则以 (c, d) 开头的出栈序列的个数为 _______ 。
A.

1

B.

2

C.

3

D.

4

  1. 用 S 表示入栈操作,用 X 表示出栈操作,若元素的入栈顺序是 1234,为了得到 1342 的出栈顺序,相应的 S 和 X 的操作序列为 _______ 。
A.

SXSSXSXX

B.

SSSXXSXX

C.

SXSSXXSX

D.

SXSSXXSXX

  1. 若栈的输入序列是 1, 2, 3, ⋯, n,输出序列的第一个元素是 (n),则第 i 个输出元素是 _______ 。
A.

不确定

B.

n-i

C.

n-i-1

D.

n-i+1

  1. 若栈的输入序列是 1, 2, 3, ⋯, n,输出序列的第一个元素是 (i),则第 j 个输出元素是 _______ 。
A.

i-j-1

B.

i-j

C.

j-i+1

D.

不确定

  1. 某栈的输入序列为 ( a, b, c, d ),下面的 4 个序列中,不可能为其输出序列的是 _______ 。
A.

a, b, c, d

B.

c, b, d, a

C.

d, c, a, b

D.

a, c, b, d

  1. 若栈的输入序列是 ( P_1, P_2, \cdots, P_n ),输出序列是 ( 1, 2, 3, \cdots, n ),若 ( P_3 = 1 ),则 ( P_1 ) 的值是 _______ 。
A.

可能是 2

B.

一定是 2

C.

不可能是 2

D.

不可能是 3

  1. 若栈的输入序列是 ( P_1, P_2, \cdots, P_n ),输出序列是 ( 1, 2, 3, \cdots, n ),若 ( P_3 = 3 ),则 ( P_1 ) 的值是 _______ 。
A.

可能是 2

B.

不可能是 1

C.

一定是 1

D.

一定是 2

  1. 已知栈的入栈序列是 ( 1, 2, 3, 4 ),其出栈序列为 ( P_1, P_2, P_3, P_4 ),则 ( P_2, P_4 ) 不可能是 _______ 。
A.

2, 4

B.

2, 1

C.

4, 3

D.

3, 4

  1. 设栈的初始状态为空,当字符串列 “n1_” 作为栈的输入时,输出长度为 3,且可用作 C 语言标识符的序列有 _______ 个。
A.

4

B.

5

C.

3

D.

6

  1. 采用共享栈的好处是 _______ 。
A.

减少存取时间,降低发生上溢的可能

B.

节省存储空间,降低发生上溢的可能

C.

减少存取时间,降低发生下溢的可能

D.

节省存储空间,降低发生下溢的可能

  1. 设有一个顺序共享栈 Share[0:n-1],其中第一个栈顶指针 top1 的初值为 -1,第二个栈顶指针 top2 的初值为 n,则判断共享栈满的条件是 _______ 。
A.

top2-top1==1

B.

top1-top2==1

C.

top1==top2

D.

都不对

  1. 【2009 统考真题】 设栈 S 和队列 Q 的初始状态均为空,元素 abcdefg 依次进入栈 S。若每个元素出栈后立即进入队列 Q,且 7 个元素出队的顺序是 bdefacg,则栈 S 的容量至少是 _______ 。
A.

1

B.

2

C.

3

D.

4

  1. 【2010 统考真题】 若元素 a, b, c, d, e, f 依次入栈,允许入栈、出栈操作交替进行,但不允许连续 3 次进行出栈操作,不可能得到的出栈序列是()。
A.

dcebfa

B.

cbdaef

C.

bcaefd

D.

afedcb

  1. 【2011 统考真题】 元素 a, b, c, d, e 依次进入初始为空的栈中,若元素入栈后可停留、可出栈,直到所有元素都出栈,则在所有可能的出栈序列中,以元素 d 开头的序列个数是()。
A.

3

B.

4

C.

5

D.

6

  1. 【2013 统考真题】 一个栈的入栈序列为 1, 2, 3, ⋯, n,出栈序列是 ( P_1, P_2, P_3, ⋯, P_n )。若 ( P_2 = 3 ),则 ( P_3 ) 可能取值的个数是()。
A.

n-3

B.

n-2

C.

n-1

D.

无法确定

  1. 【2020 统考真题】 对空栈 S 进行 Push 和 Pop 操作,入栈序列为 a, b, c, d, e,经过 Push、Push、Pop、Push、Pop、Push、Push、Pop 操作后得到的出栈序列是()。
A.

b, a, c

B.

b, a, e

C.

b, c, a

D.

b, c, e

  1. 【2022 统考真题】 给定有限符号集 S,in 和 out 均为 S 中所有元素的任意排列。对于初始为空的栈 ST,下列叙述中,正确的是()。
A.

若 in 是 ST 的入栈序列,则不能判断 out 是否为其可能的出栈序列

B.

若 out 是 ST 的出栈序列,则不能判断 in 是否为其可能的入栈序列

C.

若 in 是 ST 的入栈序列,out 是对应 in 的出栈序列,则 in 与 out 一定不同

D.

若 in 是 ST 的入栈序列,out 是对应 in 的出栈序列,则 in 与 out 可能互为倒序

Last updated:

本站源代码可在 Github 查看与贡献。