浏览器大家都很熟悉,当我们点开一系列页面例如a-b-c时,到c页面后退可以查看b、a页面,在b、a页面前进可以查看c页面,但是当在b页面重新进入一个新的页面时,此时再也不能通过前进或者后退进入c页面了,这是怎么实现的呢?很简单,两个栈即可实现此功能。
1.首先,进入一系列页面a、b、c:将a、b、c依次压入栈Stack1,此时在页面c;
2.后退两步:将c、b依次弹出再压入栈Stack2;
3.前进一步:将b从Stack2弹出压入Stack1;
4.打开新的页面:将d压入Stack1;
5.清空Stack2,此时就不能通过前进或者后退进入页面c了。