package aa.bb.cc.demo;
import java.util.Stack;
/**
* Stack的模拟(数组)
* @author 州伟
* @note 用数组模拟一个栈,注意数组是没有变化的,不会删除数组节点,主要是利用top值的变化来实现stack
*/
public class MyStack {
//Stack底层是一个数组(当然也可以list vector等,主要看是否要线程安全????)
private long[] arr;
private int top; //Stack顶
//默认构造方法
public MyStack(){
arr = new long[10];
top = -1;
}
//带参数的构造方法
public MyStack(int maxSize){
arr = new long[maxSize];
top = -1;
}
//添加数据???
public void push(int value){
/**
* 这样理解
* arr[top=top+1] = value;
*/
arr[++top] = value;
}
//移除一个数据???
public long pop(){
/**
* 没有删除的过程??????
*/
return arr[top--];
}
//查看数据???
public long peek(){
return arr[top];
}
//判断是否为空
public boolean isEmpty(){
return top == -1;
}
//判断是否满了
public boolean isFull(){
return top == arr.length -1;
}
/**
* main
* @param args
*/
public static void main(String[] args) {
MyStack ms = new MyStack(4);
ms.push(23);
ms.push(1);
ms.push(90);
ms.push(12);
System.out.println(ms.isEmpty());
System.out.println(ms.isFull());
System.out.println(ms.peek());
System.out.println(ms.peek());
System.out.println();
//先进后出,先出后进
while(!ms.isEmpty()){
System.out.println(ms.pop());
}
System.out.println(ms.isEmpty());
System.out.println(ms.isFull());
System.out.println("--------------自己模拟的stack与JDK中的Stack对比----------------");
//JDK中的Stack
Stack stack = new Stack();
stack.push(23);
stack.push(1);
stack.push(90);
stack.push(12);
System.out.println(stack.isEmpty());
System.out.println(stack.peek());
System.out.println(stack.peek());
System.out.println();
//先进后出,先出后进
while(!stack.isEmpty()){
System.out.println(stack.pop());
}
System.out.println(stack.isEmpty());
}
}
分享到:
相关推荐
资源分类:Python库 所属语言:Python 资源全名:appendfilename-2018.02.03.1-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
化工应用数学 第三章 数据处理 讲义(01.插值算法)插值:插值是离散函数逼近的重要方法,利用它可通过函数在有限点的取值状况,估算出函数在其他点的近似值。我们在
Rexroth IndraDrive C Drive Controllers Power Sections HCS03.1
OIF协议OIF-CEI-03.1.pdf ,这个不是最新的,最新的是OIF-CEI-04.0.pdf
在使用openwrt进行编译的时候很容易下载hostapd-2014-06-03.1.tar.bz2失败,那么就将该资源下载后放到openwrt/dl/文件夹下面
03.1 数据中心能源产品介绍 03.2 数据中心能源产品介绍 03.3 数据中心能源产品介绍 11.1 数据中心网络方案概述 11.2 数据中心网络方案概述 11.3 数据中心网络方案概述 11.4 数据中心网络方案概述 11.5 数据...
hostapd-2014-06-03.1 亲自测试没有问题
02 WB-Mech_120_WS_02.1-1.pdf 03 WB-Mech_120_WS_03.1-1.pdf 04 WB-Mech_120_WS_03.2-2.pdf 05 WB-Mech_120_WS_04.1-1.pdf 11 WB-Mech_120_WS_08.1-1.pdf
面向40G/100G的数据速率的国际标准之一
OIF协议OIF-CEI-04.0.pdf // OIF协议OIF-CEI-04.0.pdf // OIF协议OIF-CEI-04.0.pdf // OIF协议OIF-CEI-04.0.pdf // OIF协议OIF-CEI-04.0.pdf // OIF协议OIF-CEI-04.0.pdf //
备注 : 在这份 "IndraDrive 驱动控制器 , 功率部分,项目设计手册(DOKINDRV*HCS03.1****-PR01-EN-P)"的资料中。只描述了功率部分。 备注 : 控制部分的描述在独立的资料中:“IndraDrive 驱动控制部分,项目设计手册”...
E03.1 class, deployment diagram
03.1_倒计时
03.1管理人员升迁计划表.docx
03.1,由于整套很大我会分很多章节传上来,附带有ASP.NET程序开发范例宝典目录,大家可以按目录找自己需要的代码查看研究!
OIF_CEI_03.0 面向40G/100G的数据速率的国际标准
教育资料
03.1S-1S协议概述 04.1S-1S协议邻接关系 05.1S-1S协议的数据库同步 06.1S-1S协议的路由计算 07.1S-1S协议与OSPF协议的比较 08.1S-1S 路由协议故障排除 09.BGP basic 10.BGP Advance及Interne t设计理念 11....
BSL_v8.1.02.3.zip