java:栈操作(数组结构 + 链表结构)
2015-08-18 17:49
211 查看
package com.stack; //链表结构的栈:元素的入栈、出栈都在首节点 //节点类型 class Node { Node next; //指向下一节点 int data; //数据域 public Node(int data) { this.data = data; } } //链表结构的栈-元素的入栈、出栈都在首节点 class LinkedStack { Node head; //首节点 //1.元素入栈,元素插在首节点前 public void push(int val) { Node newNode = new Node(val); newNode.next = null; if(head == null) //首节点为空时 { head = newNode; } else //首节点不为空时 { newNode.next = head; head = newNode; } } //2.元素出栈,删除首节点 public void pop() { int val; if(isEmpty()) //栈为空时 { System.out.println("栈已空"); return; } else //栈不空 { val = head.data; System.out.print(val +" "); head = head.next; } } //3.判断栈是否为空 boolean isEmpty() { if(head == null) return true; else return false; } } public class TestLinkedStack { public static void main(String[] args) { LinkedStack s = new LinkedStack(); System.out.print("元素入栈:"); for(int i = 0; i < 5; i++) { s.push(i); //入栈 System.out.print(i +" "); } System.out.println(); System.out.print("元素出栈:"); for(int i = 0; i < 5; i++) { s.pop(); //出栈 } System.out.println(); } }
相关文章推荐
- Spring 入门教程(二) 生命周期和作用域
- 动态代理应用场景 Java
- 拓扑排序 之 Java详解
- [leetcode-140]word breakII(java)
- java-url访问web工程
- java 中的重载与重写 抽象类与接口的区别
- Java基础知识—内部类
- JAVA反射机制的几种实现
- Java 继承
- java,c#将秒转换为hh:MM:ss的实现
- Java EE_学习规划
- Java之Exception
- Unsupported major.minor version 51.0解决
- MyEclipse查看Struts2源码及Javadoc文档
- Spring事务管理只对出现运行期异常进行回滚
- java常见连接池比较
- Spring代理模式
- Java单元测试简述
- java web几种开发模式(转)
- [Java教程]RDD专题