java 使用链表来模拟栈的入栈出栈操作
2019-01-22 01:59:41来源:博客园 阅读 ()
栈:后进先出;最后一个放入堆栈中的物体总是被最先拿出来。
使用链表来模拟栈的入栈出栈操作。
1.节点类代码
public class Entry<T> { private T value; private Entry<T> next; public Entry() { this(null); } public Entry(T value) { this.value=value; this.next=null; } public void setValue(T value) { this.value=value; }
public void setNext(Entry<T> next) { this.next=next; } public T getValue() { return value; } public Entry<T> getNext(){ return next; } }
2.节点的入栈出栈方法代码
public class Link<T> {//链表实现栈,先进后出 private Entry<T> headEntry; private int size=0; public Link() { headEntry =new Entry<>(); } public void pop() {//出栈 if(headEntry.getNext()!=null) { headEntry.getNext().setValue(null); headEntry.setNext(headEntry.getNext().getNext()); size--; }else { return; } } public void push(T value) {//入栈 Entry<T> newEntry=new Entry<>(value); if(headEntry.getNext()!=null) { newEntry.setNext(headEntry.getNext()); } headEntry.setNext(newEntry); size++; } public void show(){//打印节点 if(headEntry.getNext()==null) { return; } for(Entry<T> p = headEntry.getNext();p!=null;p=p.getNext()){ System.out.print(p.getValue()+" "); } System.out.println(); } }
3.测试类代码
public class Main { public static void main(String args[]) { Link<String> ll=new Link<>(); ll.push("1");//入栈 ll.push("2"); ll.push("3"); ll.push("4"); ll.push("5"); ll.push("6"); ll.push("7"); ll.push("8"); ll.show();//打印栈内元素 ll.pop();//弹出栈顶元素 ll.show(); ll.pop(); ll.show(); } }
4.测试结果
原文链接:https://www.cnblogs.com/zunzunzunshen/p/10301415.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:类与对象简单介绍
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash