栈的应用——实现浏览器中的前进和后退功能

假定有4个网页urlA、urlB、urlC、urlD;为了实现前进和后退功能我们需要借助两个栈:stackX和stackY;

  1. 初始时浏览器页面为空,stackX和stackY也为空;
  2. 当浏览第一个网页A时,stackX.Push(urlA);
    当跳转第二个网页B时,stackX.Push(urlB);
    当浏览第一个网页C时,stackX.Push(urlC);
    当跳转第二个网页D时,stackX.Push(urlD);
  3. 当点击后退按钮时:
if (!stackX.IsEmpt()) {
    
    
	stackY.Push(stackX.GetTop());
	stackX.Pop();
	browser.Reload();
} else {
    
    
	backBtn.TurnGrey();
}
  1. 当点击前进按钮时:
if (!stackY.IsEmpt()) {
    
    
	stackX.Push(stackY.GetTop());
	stackY.Pop();
	browser.Reload();
} else {
    
    
	forwardBtn.TurnGrey();
}

Guess you like

Origin blog.csdn.net/m0_37546257/article/details/121619616