package com.sc;class stack{int array[]=new int[20]; //定义栈的存储结构,数组后期会进行扩容int size=0;//栈中存放数据的个数/*** * push()函数用来进行入栈操作 无返回值 */public void push(int num){if(size>=array.length){//判断入栈个数是否超过存储结构的最大值//进行数组扩充int array_new []=new int [array.length*2];//array中的数据全部copy到array_mew中System.arraycopy(array, 0, array_new, 0, array.length);array=array_new;}else{array[size++]=num;}}/*** pop()函数用来进行出栈操作 返回的出栈之前的栈顶元素*/public int pop(){//判断出栈是否越界try{return array[--size];}catch(Exception e){e.printStackTrace();return -1;}}
}public class ExampleOfStack {public static void main(String[] args) {// TODO Auto-generated method stubstack st=new stack();st.push(1);st.push(2);st.push(3);st.push(4);System.out.println(st.pop());System.out.println(st.pop());System.out.println(st.pop());System.out.println(st.pop());}}

java-模拟出栈入栈相关推荐

  1. 【数据结构】栈详解——压栈/入栈 | 弹栈/出栈 | 获取栈顶元素

    栈 顺序栈 栈的定义 栈(stack)又名堆栈,它是一种运算受限的线性表.限定仅在表尾进行插入和删除操作的线性表.这一端被称为栈顶,相对地,把另一端称为栈底.向一个栈插入新元素又称作进栈.入栈或压栈, ...

  2. BZOJ1146[CTSC2008]网络管理——出栈入栈序+树状数组套主席树

    题目描述 M公司是一个非常庞大的跨国公司,在许多国家都设有它的下属分支机构或部门.为了让分布在世界各地的N个 部门之间协同工作,公司搭建了一个连接整个公司的通信网络.该网络的结构由N个路由器和N-1条 ...

  3. c语言堆栈基本代码入栈出栈_C/C++语言栈的出栈入栈操作实现(完整代码)

    /* 完整代码 */ #include using namespace std; #define MAX_SIZE 5 //数组大小 struct stack { int top; int ans[M ...

  4. 大话数据结构第四章栈的基本概念与出栈入栈操作

    一.栈的顺序存储结构 1.基本概念 栈顶就是表尾. 栈顶是栈插入和删除的地方. 栈就是只允许在表尾进行添加或删除,是顺序存储结构线性表的特例或者说简化. 为什么说是简化呢?相对于顺序存储结构来说栈只允 ...

  5. 数据结构 栈 入栈 输出 出栈

    数据结构 栈 入栈 输出 出栈 #include<bits/stdc++.h> /* #include<iostream> #include<> */ using ...

  6. 元素出栈入栈顺序是否合法

    要实现栈的出栈.入栈当然少不了使用栈,故一定要记得引入其头文件,否则- 对于栈来说,它的入栈顺序和其出栈顺序密切相关,比其先入栈的元素肯定比其后出栈,因为一定的遵守"先进后出"原则 ...

  7. Java开发中巧妙使用链表来实现模拟栈的入栈出栈操作

    2019独角兽企业重金招聘Python工程师标准>>> 在Java开发中经常会碰到需要你用Java链表来实现入栈出栈的模拟操作,下文就这个操作做了一个详细的描述. 栈:后进先出:最后 ...

  8. Java之根据入栈顺序是否能得到出栈顺序

    入栈.出栈顺序匹配 前言 一.Java入栈.出栈 1.例题 二.题解 A.纯正的模拟 B.LinkedHashSet C.利用CPU 总结 参考文献 前言 给出入栈顺序,匹配一个出栈顺序是否合法,即出 ...

  9. java顺序栈_顺序栈的基本操作(入栈和出栈)

    顺序栈的基本操作(入栈和出栈) 顺序栈,即用顺序表实现栈存储结构.通过前面的学习我们知道,使用栈存储结构操作数据元素必须遵守 "先进后出" 的原则,本节就 "如何使用顺序 ...

最新文章

  1. ADSL自动更换IP地址源代码
  2. ado.net mysql 连接池_ADO.NET数据库连接池的介绍 | 学步园
  3. scanf( )函数的返回值
  4. error: undefined reference to `_imp__glXXX@XX'
  5. [洛谷P3957] 跳房子
  6. oracle连接中出现错误ORA-12541,ORA-12514,ORA-01017的解决方法
  7. 雷林鹏分享:Lua 面向对象
  8. Python实现决策树
  9. JavaScript实现省市选择功能,jQuery,Json
  10. 【清北学堂2018-刷题冲刺】Contest 2
  11. nginx 默认网站根目录在哪里
  12. 在html里怎么在图片在添加文字,在HTML中,怎么在图片上添加文字?
  13. 工控行业学什么编程语言比较好_PLC五大主流编程语言你会几种?
  14. 中国象棋马走日(要求打印每一种走法) — 递归
  15. 浏览器-解决火狐浏览器总是提示Adobe Flash更新的问题
  16. pig的安装、pig的数据模型和pig的常用命令
  17. HMS Core Insights第三期直播预告—— 当我们在谈论App的时候,我们还可以谈论什么?
  18. H5聊天对话气泡的一种实现方式及原理
  19. 如何选择最好的研究方法?——Nvivo教程
  20. 高通骁龙处理器最新的排名

热门文章

  1. nginx的upstream目前支持5种方式的分配
  2. laravel 队列queue
  3. 多云,安全集成推动了SD-WAN的广泛采用—Vecloud
  4. 树莓派(Raspberry Pi 3) - 系统烧录及系统使用
  5. 解决Visual SVN在linux下不能访问的问题
  6. iOS获取UIView上某点的颜色值
  7. unity-tweak-tool不能打开的解决办法
  8. gitosis使用笔记
  9. MySQL执行外部sql脚本
  10. oracle获取时间毫秒数