一、概述

  注意:模拟战还可以用链表

 

  

  

  

二、代码

  

 public class ArrayStack {
@Test
public void test() {
Stack s = new Stack(5); s.push(1);
s.push(2);
s.push(3);
s.push(4);
s.push(5);
s.push(6);
s.printStack();
/*System.out.println("------------------------");
s.pop();
s.pop();
s.pop();
s.pop();
s.pop();
s.pop();
s.printStack();*/
}
} class Stack {
//栈的最大容量
static int maxSize;
//用数组模拟
static int[] arr;
//栈顶,默认-1
static int top = -1; public Stack(int maxSize) {
this.maxSize = maxSize;
//创建数组
arr = new int[this.maxSize];
} public static boolean isEmpty() {
return top == -1;
} public static boolean isFull() {
return top == maxSize - 1;
} public static void push(int value) {
if (isFull()) {
System.out.println("栈已满");
return;
}
arr[++top] = value;
} public static int pop() {
if (isEmpty()) {
System.out.println("栈已空");
return -1;
}
int tmp = arr[top];
arr[top] = 0;
top--;
return tmp;
} public static void printStack() {
for (int i = top; i >=0 ; i--) {
System.out.println(arr[i]);
}
} }

Java数组模拟栈的更多相关文章

  1. Java连载69-接受输入、用数组模拟栈

    一.编写一个酒店管理系统 1.直接上代码 package com.bjpowernode.java_learning; ​ public class D69_1_ { //编写一个程序模拟酒店的管理系 ...

  2. 数组模拟栈(C语言)

    用数组模拟栈的实现: #include <stdio.h> #include <stdlib.h> #define STACK_SIZE 100 typedef struct ...

  3. Hdu 3887树状数组+模拟栈

    题目链接 Counting Offspring Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java ...

  4. Java数组模拟队列 + 优化

    队列介绍 队列是一个有序列表,可以用数组或是链表来实现. 遵循先入先出的原则. 即:先存入队列的数据,要先取出.后存入的要后取出 示意图:(使用数组模拟队列示意图)  数组模拟队列 队列本身是有序列表 ...

  5. java、C语言实现数组模拟栈

    java: public class ArrayStack { private int[] data; private int top; private int size; public ArrayS ...

  6. JavaScript数组模拟栈和队列

    *栈和队列:js中没有真正的栈和队列的类型              一切都是用数组对象模拟的 栈:只能从一端进出的数组,另一端封闭       FILO   何时使用:今后只要仅希望数组只能从一端进 ...

  7. 用java数组模拟登录和注册功能

    package com.linkage.login; import java.util.Scanner; public class user { // 存储用户名和密码 public static S ...

  8. Java数组模拟队列

    队列 先进先出 什么意思呢? 我的理解:队列就是一个数组(不包含链表),然后我们给它施加一个存数据和取数据的规则 当只允许从一端存数据,从另一端取数据的数组,就是队列,我们要做的就是给这个数组施加我们 ...

  9. Java数组模拟环形队列

    2.环形队列 (上一篇队列:https://www.cnblogs.com/yxm2020/p/12676323.html) 百度百科 1.假溢出 ​ 系统作为队列用的存储区还没有满,但队列却发生了溢 ...

随机推荐

  1. php使用Socket实现聊天室功能(书中的代码)

    这只是一种技术 <?php $host = "127.0.0.1"; // 指定监听的端口,注意该端口不能与现有应用的端口冲突 $port = '9505'; $null = ...

  2. 菜鸟程序员成长史 --记 Github 1000+ contributions

    其实一直以来想写一篇文章总结这几年的技术学习,刚好趁着自己的第一次github contribution 达到1000+,写篇文章总结以下.本文篇幅较长,我会分为几个章节来分别阐述. 博客篇 为什么我 ...

  3. .NET File 多图上传

    HTML代码: <div> <div> <input type="file" style="display:none" id=&q ...

  4. openstack stein部署手册 5. placement

    # 建立数据库用户及权限 create database placement; grant all privileges on placement.* to placement@'localhost' ...

  5. pgtksh -- PostgreSQL Tcl/Tk shell 客户端

    SYNOPSIS pgtksh [filename [argument...]] DESCRIPTION 描述 pgtksh 是一个带有 PostgreSQL 数据库访问函数扩展的 Tcl/Tk sh ...

  6. spring data jpa和spring data redis同时配置时,出现Multiple Spring Data modules found, entering strict repository configuration mode错误

    问题说明 data jpa和data redis同时配置时,出现Spring modules spring Spring Data Release Train <dependencyManage ...

  7. NLP 中 Attention Model 解析

    Attention Model,简称AM模型,本文只谈文本领域的AM模型,其实图片领域AM的机制也是相同的. 目前绝大多数文献中出现的AM模型是附着在Encoder-Decoder框架下的,但是其实A ...

  8. DateUtil-工具类

    /** * 类描述:时间操作定义类 */public class DateUtils{ private static final Logger logger = Logger.getLogger(Da ...

  9. Centos 的防火墙(firewalld,iptables)

    Centos系统防火墙介绍 概述: 1.Filewalld(动态防火墙)作为redhat7系统中变更对于netfilter内核模块的管理工具: 2.iptables service 管理防火墙规则的模 ...

  10. java Main方法 获取 maven 的resource 下的xml文件

    Properties properties = new Properties(); File file = new File("src/main/resources/generator.xm ...