进在模拟进队操作时,当栈s1满,栈s2非空时,这时栈s1为何不能再执行进栈操作:我的想法是:此时可以先让栈s1出栈一部分元素,压入栈s2,然后栈s1不就能执行进栈操作了吗
我不是这个意思,我的意思是此时要想在入栈一个元素6的话,可以先将s1的5直接出栈压入s2,此时s1不就能执行入栈元素6的操作了吗?也没用到缓冲区呀?
追答这时把5压到s2的话,入栈s6后,怎么取队列的首元素?队列的首元素,是从s2出栈得到的,这时s2的栈顶是5,但是实际上原本的队首应该是1啊~
所以直接把5出栈压到s2,会破坏队列顺序~