最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
java 实现链栈存储的方法
时间:2022-06-29 01:24:49 编辑:袖梨 来源:一聚教程网
如下所示:
packagecom.learn.algorithm.linkStack; /** * 链栈实现 * @author Jiekun.Cui * @param*/ publicclassLinkStack { privateLinkStack .Node top =newNode (); privateintsize=0; /** * 进栈 * @param t * @return ; */ publicbooleanpush(T t){ if( isEmpty() ) { top.next =newNode (t); }else{ Node newNode =newNode (t, top.next); top.next = newNode; } size ++ ; returntrue; } /** * 出栈 * @param t * @return */ publicT pop(){ if( isEmpty() ) { returnnull; }else{ LinkStack .Node node = top.next; top.next = node.next; size --; returnnode.getT(); } } /** * 获取栈顶元素 * @return */ publicT getTop(){ if( isEmpty() ) { returnnull; }else{ returntop.next.getT(); } } /** * 判断栈是不是为空 * @return */ publicbooleanisEmpty(){ returnsize() ==0; } /** * 返回栈的大小 * @return */ publicintsize(){ returnsize; } /** * @author 链栈的节点类 * @param */ classNode { privateT t =null; privateNode next =null; publicNode(){ } publicNode(T t){ this.t = t; } publicNode(T t,Node next){ this.t = t; this.next =next; } publicT getT() { returnt; } publicvoidsetT(T t) { this.t = t; } publicNode getNext() { returnnext; } publicvoidsetNext(Node next) { this.next = next; } } }
package com.learn.algorithm.linkStack; /** * 链栈测试 * @author Jiekun.Cui */ public class Demo { public static void main(String[] args) { LinkStackls = 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()); } } }
相关文章
- 无期迷途哈梅尔依偎涟漪怎么样 11-25
- 剑与远征折翼苍空攻略 11-25
- 光遇11.25每日任务怎么做 光遇11月25日每日任务做法攻略 11-25
- 光遇11.25季节蜡烛在哪里 光遇11月25日季节蜡烛位置攻略 11-25
- 崩坏星穹铁道2.7前瞻有什么活动 崩铁2.7版本前瞻新增内容介绍 11-25
- “十月朝,糍粑碌碌烧”是说哪个习俗 蚂蚁庄园11月22日答案最新 11-25