首页 > 试题广场 >

现有初始状态均为空的栈X和队列Y,元素a、b、c、d、e、f

[单选题]
现有初始状态均为空的栈X和队列Y,元素a、b、c、d、e、f、g依次进入栈X,每个元素出栈后即进入队列Y,如果出队列的顺序为b、c、f、e、g、d、a,则要求栈X最小容量为
  • 6
  • 5
  • 4
  • 3
栈: 先进后出,后进先出
队列: 先进先出,后进后出
元素a,b,c,d,e,f,g依次进入栈X中,但是没有说是全部进入再依次出
出队列的顺序是b、c、f、e、g、d、a,表示进队列的顺序就是b,c,f,e,g,d,a
所以推测进出栈的过程是:
1. a进栈(此时栈中只有a)
2. b进栈,b出栈(b进栈还没出时,栈中有a和b; b出栈后,栈中只有a) ---到这里,栈的容量为2即可满足
3. c进栈,c出栈(c进栈还没出时,栈中有a和c; c出栈后,栈中只有a) ---到这里,栈的容量为2即可满足
4.d进栈(过程结束后,栈中有a和d)---同上,栈的容量为2即可满足
5.e进栈(过程结束后,栈中有a,d和e)---此时,栈的容量最小为3
6.f进栈,f出栈(f进栈还没出时,栈中有a,d,e和f; f出栈后,栈中有a,d和e) --- 这个过程需要栈的容量至少为4才能保证a,d,e,f四个元素同时出现在栈中
7.e出栈(过程结束后,栈中有a和d)
8.g进栈,g出栈(g进栈还没出时,栈中有a,d和g; g出栈后,栈中有a和d) --- 这个过程需要栈的容量最小为3
9.d出栈
10.a出栈
综小,栈的容量最少为4
发表于 2019-11-04 21:20:38 回复(1)
倒着看从a开始排序,排除中间插入的大值,最长的链接值,adef,所以是4个
发表于 2022-04-14 15:41:59 回复(0)
演示一遍,看栈中最长有几个。
发表于 2022-01-09 16:20:39 回复(0)
发表于 2023-09-09 22:01:41 回复(0)
队列是先进先出,所以出队列顺序就是出栈时候的顺序。
f进栈的时候里面已经有a,de,f还能进说明容量至少为4
发表于 2021-06-08 11:37:17 回复(0)