📜  门| GATE CS 2021 |设置1 |第31章

📅  最后修改于: 2021-06-29 11:08:53             🧑  作者: Mango

请考虑以下对空堆栈的操作顺序。

Push(54);push(52);pop();push(55);push(62);s=pop(); 

考虑以下对空队列的操作顺序。

enqueue(21);enqueue(24);dequeue();enqueue(28);enqueue(32);q=dequeue(); 

s + q的值为___________。
(A) 86
(B) 68
(C) 24
(D) 94答案: (A)
说明:让我们构造一个空堆栈并执行操作。堆栈遵循LIFO顺序。

1.推(54)//(54)
2.推(52)//(54,52)
3.Pop()//(54)
4.推(55)//(54,55)
5.推(62)//(54,55,62)
6.s = pop()//(54,55)
s = 62;

让我们构造一个空队列并执行操作。队列遵循FIFO顺序。

1.入队(21)// [21]
2.入队(24)// [21,24]
3.Dequeue()// [24]
4.入队(28)// [24,28]
5.Enqueue(32)// [24,28,32]
6.q = Dequeue()// [28,32]
q = 24;

s + q = 62 + 24

因此,s + q = 86。

替代方式:

堆栈是后进先出的数据结构,因此s = pop()= 62

队列是先进先出数据结构,因此q = dequeue()= 24

所以,
s + q = 62 + 24 = 86
这个问题的测验