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

题目

实现浏览器的前进与后退

实现方法

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

    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.youkuaiyun.com/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.youkuaiyun.com/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);

    }
}

运行结果

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值