如下所示:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
package com.learn.algorithm.linkStack;
/**
* 链栈实现
* @author Jiekun.Cui
* @param <T>
*/
public class LinkStack<T> {
private LinkStack<T>.Node<T> top = new Node<T>();
private int size= 0 ;
/**
* 进栈
* @param t
* @return ;
*/
public boolean push(T t){
if ( isEmpty() ) {
top.next = new Node<T>(t);
} else {
Node<T> newNode = new Node<T>(t, top.next);
top.next = newNode;
}
size ++ ;
return true ;
}
/**
* 出栈
* @param t
* @return
*/
public T pop(){
if ( isEmpty() ) {
return null ;
} else {
LinkStack<T>.Node<T> node = top.next;
top.next = node.next;
size --;
return node.getT();
}
}
/**
* 获取栈顶元素
* @return
*/
public T getTop(){
if ( isEmpty() ) {
return null ;
} else {
return top.next.getT();
}
}
/**
* 判断栈是不是为空
* @return
*/
public boolean isEmpty(){
return size() == 0 ;
}
/**
* 返回栈的大小
* @return
*/
public int size(){
return size;
}
/**
* @author 链栈的节点类
* @param <T>
*/
class Node<T>{
private T t = null ;
private Node<T> next = null ;
public Node(){
}
public Node(T t){
this .t = t;
}
public Node(T t,Node<T> next){
this .t = t;
this .next =next;
}
public T getT() {
return t;
}
public void setT(T t) {
this .t = t;
}
public Node<T> getNext() {
return next;
}
public void setNext(Node<T> next) {
this .next = next;
}
}
}
|
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
package com.learn.algorithm.linkStack;
/**
* 链栈测试
* @author Jiekun.Cui
*/
public class Demo {
public static void main(String[] args) {
LinkStack< Integer > ls = new LinkStack<>();
ls.push(1);
ls.push(2);
ls.pop();
ls.push(4);
ls.push(5);
ls.push(6);
while ( !ls.isEmpty() ) {
System.out.println(ls.pop());
}
}
}
|
以上这篇java 实现链栈存储的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持快网idc。
原文链接:http://www.cnblogs.com/Jiekun-Cui/archive/2017/08/13/7354533.html
相关文章
猜你喜欢
- 个人网站服务器域名解析设置指南:从购买到绑定全流程 2025-06-10
- 个人网站搭建:如何挑选具有弹性扩展能力的服务器? 2025-06-10
- 个人服务器网站搭建:如何选择适合自己的建站程序或框架? 2025-06-10
- 64M VPS建站:能否支持高流量网站运行? 2025-06-10
- 64M VPS建站:怎样选择合适的域名和SSL证书? 2025-06-10
TA的动态
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
您的支持,是我们最大的动力!
热门文章
-
ASP.NET MVC5使用MiniProfiler监控MVC性能
2025-05-29 41 -
2025-05-25 51
-
2025-06-04 97
-
2025-06-04 67
-
2025-06-04 28
热门评论