Java 栈
来源:互联网 发布:台湾民谣 知乎 编辑:程序博客网 时间:2024/05/29 09:12
栈:
package com.darren.test.datastructure;public class Stack { private int[] data; private int top; private int maxSize; public Stack(int size) { this.maxSize = size; data = new int[size]; } /** * 添加数据,并移动指针 * * @param value */ public void push(int value) { if (top == maxSize) { System.out.println("栈已满!"); } else { data[top] = value; top++; } } /** * 取出数据,并移动指针 * * @return */ public Integer pop() { Integer value = null; if (top == 0) { System.out.println("栈已空!"); } else { top--; value = data[top]; } return value; } /** * 查看数据,不移动指针 * * @return */ public Integer peek() { Integer value = null; if (top == 0) { System.out.println("栈已空!"); } else { int key = top - 1; value = data[key]; } return value; } public int size() { int size = data.length; return size; }}
栈测试:
package com.darren.test.datastructure;public class StackTest { public static void main(String[] args) { Stack stack = new Stack(5); stack.push(5); stack.push(4); stack.push(3); stack.push(2); stack.push(1); stack.push(0); // test1(stack); // test2(stack); test3(stack); } /** * 测试方式一 * * @param stack */ private static void test1(Stack stack) { System.out.println("测试方式一"); while (true) { Integer value = stack.pop(); if (value != null) { System.out.println(value); } else { break; } } } /** * 测试方式二 * * @param stack */ private static void test2(Stack stack) { System.out.println("测试方式二"); int size = stack.size(); for (int i = 0; i < size; i++) { System.out.println(stack.pop()); } } /** * 测试方式三 * * @param stack */ private static void test3(Stack stack) { System.out.println("测试方式三"); while (stack.peek() != null) { System.out.println(stack.pop()); } }}
0 0
- java 栈
- java 栈
- Java栈
- java栈
- java栈
- java 栈
- Java 栈
- java 栈
- Java栈
- java栈
- 栈(JAVA)
- java-栈
- [Java]Java栈与堆
- java 栈----java.util.Stack
- Java栈和Java堆
- Java栈和Java堆
- 【Java】Java栈的使用
- java内存栈java虚拟机
- 彻底解决SSH架构中的Hibernate懒加载问题
- Python写的汉诺塔问题
- 桶排序
- Ubuntu Linux 环境变量PATH设置
- A Famous Music Composer
- Java 栈
- java抽象类与接口分析
- Java(if_else作业)
- Quick_lua在vs201x上的开发控件BabeLua的配置
- 轻松搞定面试中的二叉树题目
- Brainchild, A syntax coloring edit control
- 初者
- cocos2d-x学习篇之网络(http)篇
- javaweb-使用servlet实现文件下载