java实现链栈
2015-07-13 22:36
411 查看
前面学习了java实现顺序栈:/article/5114100.html
接下来,学习java实现链栈。
链栈类代码:
链栈测试类代码:
接下来,学习java实现链栈。
链栈类代码:
package linkedstack; public class LinkStack { private Element base; private Element top; class Element { public Object data; public Element next; } /** * 初始化栈 * */ void initStack() { top = new Element(); base = new Element(); top.data=null; top.next=base; base.data=null; base.next=null; } /** * 入栈 * */ void push(Object o) { Element e = new Element(); e.data = o; if(top.next==base)//第一次入栈操作 { e.next=base; top.next=e; }else { e.next=top.next; top.next=e; } } /** * 出栈 * */ void pop() { if(top.next==base) { System.out.println("栈中没有元素!"); }else { System.out.println("出栈操作"+top.next.data); top.next=top.next.next; } } /** * 打印栈 * */ void print() { System.out.print("打印栈:"); Element temp =top; while(temp.next!=base) { System.out.print(temp.next.data+"\t"); temp =temp.next; } System.out.println(); } }
链栈测试类代码:
package linkedstack; public class LinkStackMain { public static void main(String[] args) { LinkStack lStack = new LinkStack(); lStack.initStack(); lStack.pop(); lStack.push(1); lStack.push(2); lStack.push(3); lStack.push(4); lStack.print(); lStack.pop(); lStack.pop(); lStack.print(); lStack.pop(); lStack.pop(); lStack.print(); lStack.pop(); } }
相关文章推荐
- Eclipse实用快捷键收集
- java实现顺序栈
- SELENIUM中文教程之Selenium+ Webdriver+JAVA 自动化测试 环境搭建( SELENIUM自动化测试入门基础)
- Java技术路线图
- java连接MYSQL
- SpringMVC 4.1.6 @RestController实例入门
- Spring学习笔记——Spring实例化Bean的三种方式
- A glace on Java Stream
- struts2学习笔记(6)---数据验证之validate()方法
- Selenium+ Webdriver+JAVA 自动化测试 环境搭建( SELENIUM自动化测试入门基础)
- JAVA学习日记 2015-7-13
- java多线程之Callable初步实现
- Java-----单例模式
- 【Thinking in Java笔记】选择类还是接口
- springmvc上传图片并显示图片--支持多图片上传
- java Split 用法
- Spring注解@Component、@Repository、@Service、@Controller区别
- java jar 打包命令
- Spring中 @Autowired标签与 @Resource标签 的区别
- AOS V0.2 发布,JavaEE 应用基础平台