JAVA实现栈
来源:互联网 发布:linux中端口的欺骗 编辑:程序博客网 时间:2024/06/15 04:03
package linklist;/** * JAVA实现栈的数据结构(先进后出) * 使用数组的形式来存储 * @author zhang * */public class Stack { private Object[] stackElement; private int length = 16; private int size = 0; private int postion = 0; //游标位置 public Stack(){} public Stack(int length){ this.length = length; } /** * 判断是不是已经满了 * @return */ private boolean isFul(){ if(postion == size){ return true; }else{ return false; } } /** * 如果装满了,则申请新的空间,把原来的空间上的复制到新的空间 */ private void copy(){ Object ele[] = new Object[length+16]; //每次扩增16 for(int i=0;i<stackElement.length;i++){ ele[i] = stackElement[i]; //复制 } this.length = length+16; stackElement = ele; } /** * 进栈 * @param element */ public void push(Object element){ if(stackElement == null){ stackElement = new Object[length]; stackElement[postion] = element; postion++; }else{ if(isFul() == true){ copy(); //创建新的空间,增加存储区域 stackElement[postion] = element; postion++; } else { stackElement[postion] = element; postion++; } } } /** * 出栈 * @return */ public Object pop(int pos){ if(stackElement != null && pos>=0 && pos<=postion){ return stackElement[pos]; } return null; } /** * 遍历所有 */ public void display(){ for(int i=postion;i>0;i--){ Object obj = pop(i); System.out.println(obj.toString()); } } public static void main(String[] args) { Stack stack = new Stack(); for(int i=0;i<10;i++){ stack.push(i); } stack.display(); }}
0 0
- java实现栈
- java 实现栈数据结构
- Java 实现栈
- java实现栈
- java 实现一个栈
- java实现栈结构
- 链式栈 java实现
- Java实现链式栈
- 栈的实现(JAVA)
- java实现栈
- Java实现栈
- java 栈实现
- 栈的实现-----java
- 【java】栈的实现
- Java栈实现
- java实现顺序栈
- Java 实现栈
- 栈的java实现
- 常用图像数据集大全(分类,跟踪,分割,检测等)
- 仿网易侧滑
- 《unix网络编程》(3)TCP连接的建立和终止
- 2015-第3周项目5-数组做数据成员(1)
- android attr.xml
- JAVA实现栈
- 引用
- Tomcat笔记
- POJ 2186 Popular Cows
- android PhoneWindow
- [LeetCode]Remove Duplicates from Sorted List II
- 机器学习相关数据库
- 在Apple开发官网测试TestFlight
- mongodb分布式集群架构