微科社区,轻松开发从此开始! 请登陆 免费注册

微科社区

当前位置:首页 > Java平台 > J2EE >

顺序栈实现返回前页

时间:2017-01-16 04:01  浏览:努力统计中...
1 public class SequenceStack { 2 private String[] urls; // 数组,存储用户请求的url 3 private int top; // 栈顶指针 4 private final static int maxSize = 5; // 数组长度,暂定5 5 6 public SequenceStack() { // 初始化 7 ur
 1 public class SequenceStack {
2 private String[] urls; // 数组,存储用户请求的url
3 private int top; // 栈顶指针
4 private final static int maxSize = 5; // 数组长度,暂定5
5
6 public SequenceStack() { // 初始化
7 urls = new String[maxSize];
8 top = -1;
9 }
10
11 // 最新url入栈
12 public void push(String url) {
13 if (top == maxSize - 1) { // 栈满处理
14 if (url.equals(urls[top])) {// 防止刷新,如果栈顶url与传入的url相等,即为刷新操作
15 return;
16 }
17 // 更新数组保存的url
18 String[] otherUrls = urls.clone();
19 for (int i = 0; i <= maxSize - 1; i++) {
20 if (i == top) {
21 break;
22 }
23 otherUrls[i] = urls[i + 1];//前移
24 }
25 otherUrls[top] = url;
26 urls = otherUrls;
27 } else { // 栈未满
28 top++;
29 urls[top] = url;
30 }
31 }
32
33 //栈顶元素即为前页的url
34 public String pop() {
35 if (top == -1 || top == 0) {
36 return null;
37 }
38 return urls[top];
39 }
40
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线------
栏目列表
推荐内容