题目
【单选题】设栈 s 和队列 q 均为空,先将 a , b , c , d 依次进队列 q ,再将队列 q 中顺次出队的元素进栈 s ,直至队空。再将栈 s 中的元素逐个出栈,并将出栈元素顺次进队列 q ,则队列 q 的状态是 。A. abcd B. dcba C. bcad D. dbca
【单选题】设栈 s 和队列 q 均为空,先将 a , b , c , d 依次进队列 q ,再将队列 q 中顺次出队的元素进栈 s ,直至队空。再将栈 s 中的元素逐个出栈,并将出栈元素顺次进队列 q ,则队列 q 的状态是 。
A. abcd
B. dcba
C. bcad
D. dbca
A. abcd
B. dcba
C. bcad
D. dbca
题目解答
答案
dcba
解析
步骤 1:元素进队列
将元素 a, b, c, d 依次进队列 q,此时队列 q 的状态为:abcd。
步骤 2:元素出队列并进栈
将队列 q 中的元素依次出队并进栈 s,直到队列 q 为空。此时栈 s 的状态为:dcba(因为栈是后进先出的,所以出队的顺序是 abcd,进栈的顺序是 dcba)。
步骤 3:元素出栈并进队列
将栈 s 中的元素依次出栈并进队列 q,直到栈 s 为空。此时队列 q 的状态为:dcba(因为栈是后进先出的,所以出栈的顺序是 dcba,进队的顺序也是 dcba)。
将元素 a, b, c, d 依次进队列 q,此时队列 q 的状态为:abcd。
步骤 2:元素出队列并进栈
将队列 q 中的元素依次出队并进栈 s,直到队列 q 为空。此时栈 s 的状态为:dcba(因为栈是后进先出的,所以出队的顺序是 abcd,进栈的顺序是 dcba)。
步骤 3:元素出栈并进队列
将栈 s 中的元素依次出栈并进队列 q,直到栈 s 为空。此时队列 q 的状态为:dcba(因为栈是后进先出的,所以出栈的顺序是 dcba,进队的顺序也是 dcba)。