设有栈S和队列Q 其状态为空 元素a1 a2 a3 a4 a5 a6依次入栈 出栈的元素则进入队列Q 若6个元素出

计算机 队列,元素,状态 已帮助 人

设有栈S和队列Q,其状态为空,元素a1,a2,a3,a4,a5,a6依次入栈,出栈的元素则进入队列Q,若6个元素出队列的顺序是a2,a3,a4,a6,a5,a1,则栈的容量至少是A.6 B.4 C.3 D.2

热搜:下面程序的功能是输出数组s中最大元素

答案解析

难度★★☆ 搜索
  • 参考答案:C本题主要考查栈和队列的基本特性。栈是限定仅在表尾进行插入和删除操作的线性表,而队列则只允许在队尾进行插入操作,在队头进行删除操作。栈对数据元素的操作具有先进后出的特点,而队列对数据元素的操作具有先进先出的特点。本题要求对栈和队列一起操作,将出栈S的元素进入队列Q,元素出队的顺序是a2,a3,a4,a6,a5,a1,根据队列的特性,那么元素入队的顺序也应该为a2,a3,a4,a6,a5,a1,这也就说明元素出栈的顺序为a2,a3,a4,a6,a5,a1,但元素入栈的顺序是a1,a2,a3,a4,a5,a6,根据这两个序列,我们可以推断出元素入栈出栈的过程为:首先a1入栈,它不马上出栈,而是让a2入栈,然后a2出栈,a3、a4分别入栈后又出栈,接着a5入栈,而不接着出栈,而是让a6入栈,这时,栈S中元素的个数为3个,分别是a1,a5,a6。因此,栈的容量至少为3。