Java - - 数组实现栈基本功能
来源:互联网 发布:gartner 云计算 2017 编辑:程序博客网 时间:2024/05/21 08:38
- package com.ct.stack;
- /**
- * @author Chalmers
- * @version 创建时间:2015年10月24日 下午10:10:13
- */
- public class StackDemo {
- // 初始容量
- private int capacity = 10;
- // 增量
- private double increment = 1.5;
- // 栈中数据数量
- private int length = 0;
- // 用来实现栈功能的数组
- private Object[] src = new Object[capacity];
- //默认大小
- public StackDemo() {
- }
- // 自定义初始栈的大小
- public StackDemo(int initCapacity) {
- this.capacity = initCapacity;
- }
- // 判断栈是否为空
- public boolean isEmpty() {
- return length == 0 ? true : false;
- }
- //扩充栈的容量
- public Object[] extend(){
- Object[] dest = new Object[(int)(src.length * increment)];
- System.arraycopy(src, 0, dest, 0, src.length);
- return dest;
- }
- //压栈
- public void push(Object obj){
- if(length >= src.length){
- src = extend();
- }
- src[length] = obj;
- length ++;
- }
- //取栈顶元素
- public Object peek(){
- if(isEmpty()){
- throw new NullPointerException();
- }
- return src[length-1];
- }
- //取出栈顶元素并删除
- public Object pop(){
- if(isEmpty()){
- throw new NullPointerException();
- }
- length --;
- return src[length];
- }
- //获得栈的元素个数
- public int size(){
- return length;
- }
- }
伦理片 http://www.dotdy.com/
测试类- package com.ct.stack;
- /**
- * @author Chalmers
- * @version 创建时间:2015年10月24日 下午10:30:51
- */
- public class StackTest {
- public static void main(String[] args) {
- StackDemo sd = new StackDemo();
- for(int i=0; i<20; i++){
- sd.push(new Integer(i));
- }
- while(!sd.isEmpty()){
- System.out.print("栈的大小: "+sd.size()+" ");
- System.out.println("栈顶元素为: "+sd.pop());
- }
- //sd.pop();
- }
- }
影音先锋电影 http://www.iskdy.com/
输出结果为:
栈的大小: 20 栈顶元素为: 19
栈的大小: 19 栈顶元素为: 18
栈的大小: 18 栈顶元素为: 17
栈的大小: 17 栈顶元素为: 16
栈的大小: 16 栈顶元素为: 15
栈的大小: 15 栈顶元素为: 14
栈的大小: 14 栈顶元素为: 13
栈的大小: 13 栈顶元素为: 12
栈的大小: 12 栈顶元素为: 11
栈的大小: 11 栈顶元素为: 10
栈的大小: 10 栈顶元素为: 9
栈的大小: 9 栈顶元素为: 8
栈的大小: 8 栈顶元素为: 7
栈的大小: 7 栈顶元素为: 6
栈的大小: 6 栈顶元素为: 5
栈的大小: 5 栈顶元素为: 4
栈的大小: 4 栈顶元素为: 3
栈的大小: 3 栈顶元素为: 2
栈的大小: 2 栈顶元素为: 1
栈的大小: 1 栈顶元素为: 0
0 0
- Java - - 数组实现栈基本功能
- C实现数组的基本功能
- 顺序栈基本功能的实现
- C++实现类似JAVA反射的基本功能
- JAVA用List实现Map的基本功能
- JS和Java实现链表类的基本功能
- java--实现二叉树的一些基本功能
- Stack类模板的动态数组实现(基本功能)
- 链式栈基本功能的简单实现
- C++实现顺序栈的基本功能
- 数据结构--顺序栈基本功能实现程序…
- 数据结构之栈的基本功能实现
- C++实现顺序栈的基本功能
- 栈的基本功能实现(C语言)
- 数据结构 链栈的基本功能实现
- 栈基本功能
- 自编Java版记事本(基本功能实现,界面尚可)
- java数组实现栈
- kNN(K-Nearest Neighbor)最邻近规则分类
- windowsPE制作工具
- iOS常用的一些方法
- sublime text 3对java编译环境的简单配置
- SpringMVC初级应用--第一步骤
- Java - - 数组实现栈基本功能
- Oracle中使用pl/sql,查询结果可以直接修改sql语句-for update
- 数据结构以及代码性能
- python(x,y)以及学习书籍
- JavaScript中的循环类型(整理笔记)
- 看故事,学理财
- asp.net无法获取kindeditor文本编辑器内容的解决办法
- artdialog插件open用法备忘
- 背包总结