【数据结构与算法】用栈简单实现浏览器的前进与后退

题目

实现浏览器的前进与后退

实现方法

使用俩个栈,一个栈存放可后退的地址,一个栈存放可前进的的地址。

    Stack stackForward=new Stack();
    Stack stackBackward=new Stack();
    //前进
    public void goForward(){
        Object popBackward = stackBackward.pop();
        stackForward.push(popBackward);
        System.out.println("前进的url:"+popBackward);

    }
    //后退
    public void goBackward(){
        Object popForward = stackForward.pop();
        stackBackward.push(popForward);
        System.out.println("后退的url:"+popForward);

    }

分析栈的变化

比如一次打开三个网址:https://www.baidu.com/,https://blog.csdn.net/cxh6863,https://youzan.github.io/vant/#/zh-CN/cell。
那就代表在前进栈里存放这三个地址。
在这里插入图片描述

后退三次依次变化

在这里插入图片描述

接着再前进三次的变化

在这里插入图片描述

源码

public class SampleBrowser {
    Stack stackForward=new Stack();
    Stack stackBackward=new Stack();
    public static void main(String[] args) {
        SampleBrowser browser=new SampleBrowser();
        browser.open("https://www.baidu.com/");
        browser.open("https://blog.csdn.net/cxh6863");
        browser.open("https://youzan.github.io/vant/#/zh-CN/cell");
        browser.goBackward();
        browser.goBackward();
        browser.goBackward();
        browser.goForward();
        browser.goForward();
        browser.goForward();

    }
    public void open(String url){
        stackForward.push(url);
    }
    //前进
    public void goForward(){
        Object popBackward = stackBackward.pop();
        stackForward.push(popBackward);
        System.out.println("前进的url:"+popBackward);

    }
    //后退
    public void goBackward(){
        Object popForward = stackForward.pop();
        stackBackward.push(popForward);
        System.out.println("后退的url:"+popForward);

    }
}

运行结果

初始值
在这里插入图片描述
第一次后退后
在这里插入图片描述
第二次后退后
在这里插入图片描述
第三次后退后
在这里插入图片描述
第一次前进后
在这里插入图片描述
第二次前进后
在这里插入图片描述
第三次前进后
在这里插入图片描述

原创文章 255 获赞 116 访问量 19万+

猜你喜欢

转载自blog.csdn.net/cxh6863/article/details/103791087
今日推荐