- Java 编程示例
- 示例 - 首页
- 示例 - 环境
- 示例 - 字符串
- 示例 - 数组
- 示例 - 日期和时间
- 示例 - 方法
- 示例 - 文件
- 示例 - 目录
- 示例 - 异常
- 示例 - 数据结构
- 示例 - 集合
- 示例 - 网络
- 示例 - 线程
- 示例 - 小程序
- 示例 - 简单 GUI
- 示例 - JDBC
- 示例 - 正则表达式
- 示例 - Apache PDF Box
- 示例 - Apache POI PPT
- 示例 - Apache POI Excel
- 示例 - Apache POI Word
- 示例 - OpenCV
- 示例 - Apache Tika
- 示例 - iText
- Java 教程
- Java - 教程
- 有用的 Java 资源
- Java - 快速指南
- Java - 有用资源
如何在 Java 中实现栈
问题描述
如何实现栈?
解决方案
以下示例展示了如何通过创建用于输入元素的用户自定义 push() 方法和用于从栈中检索元素的 pop() 方法来实现栈。
public class MyStack { private int maxSize; private long[] stackArray; private int top; public MyStack(int s) { maxSize = s; stackArray = new long[maxSize]; top = -1; } public void push(long j) { stackArray[++top] = j; } public long pop() { return stackArray[top--]; } public long peek() { return stackArray[top]; } public boolean isEmpty() { return (top == -1); } public boolean isFull() { return (top == maxSize - 1); } public static void main(String[] args) { MyStack theStack = new MyStack(10); theStack.push(10); theStack.push(20); theStack.push(30); theStack.push(40); theStack.push(50); while (!theStack.isEmpty()) { long value = theStack.pop(); System.out.print(value); System.out.print(" "); } System.out.println(""); } }
结果
以上代码示例将产生以下结果。
50 40 30 20 10
以下又一个样本可通过创建用于输入元素的用户自定义 push() 方法和用于从栈中检索元素的 pop() 方法来实现栈。
import java.util.*; public class Demo { static void showpush(Stack stack1, int a) { stack1.push(new Integer(a)); System.out.println("push(" + a + ")"); System.out.println("stack: " + stack1); } static void showpop(Stack stack1) { Integer a = (Integer) stack1.pop(); System.out.println(a); System.out.println("stack: " + stack1); } public static void main(String args[]) { Stack stack1 = new Stack(); System.out.println("stack: " + stack1); showpush(stack1, 40); showpush(stack1, 50); showpush(stack1, 60); showpop(stack1); showpop(stack1); showpop(stack1); try { showpop(stack1); } catch (EmptyStackException e) { System.out.println("it Is Empty Stack"); } } }
以上代码示例将产生以下结果。
stack: [] push(40) stack: [40] push(50) stack: [40, 50] push(60) stack: [40, 50, 60] 60 stack: [40, 50] 50 stack: [40] 40 stack: [] it Is Empty Stack
java_data_structure.htm
广告