当前位置: 首页 > news >正文

栈-初识

栈和队列

栈和队列是比数组更加抽象的结构,本人理解是为了特殊场景下建立秩序的一个工具,表示抽象的一个过程,数组更像一个结果。

栈 先进后出

栈空间(存放元素位置),栈顶元素(指向栈顶的指针),栈的长度

创建一个空栈

initStack(); // 初始化栈

入栈

push(Element); 

出栈

pop();

查看元素

peek();
Java代码实现
// stack
public class NewStack {

  private Long[] elements; // 元素

  private int maxSize; // 栈大小

  private int top; // 栈顶指针

  public NewStack(int size) {
    this.elements = new Long[size];
    this.maxSize = size;
    this.top = -1;
  }

  public void push(Long e) {
    elements[++top] = e;
  }

  public long pop() {
    return elements[top--];
  }

  public long peek() {
    return elements[top];
  }

  public boolean isEmpty() {
    return top == -1;
  }

  public boolean isFull() {
    return top == maxSize - 1;
  }
}

转载于:https://www.cnblogs.com/MagicalFool/p/10146926.html

相关文章:

  • 医疗保健行业中的区块链
  • Grace Ex与您携手共赢,迎接数字经济时代的到来
  • Spark RDD与MapReduce
  • 企业项目开发--切分配置文件
  • node下使用jquery
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • Analytics Zoo:在Apache Spark上实现分布式Tensorflow和BigDL管道的统一分析和AI平台
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • oracle问题 ORA-01843:not a valid month
  • 退款证书相关
  • 如何将本地文件上传至阿里云ECS中
  • React 作者关于 Hooks 的深度 issue,值得你阅读
  • 【AIX】在命令前显示完整路径
  • Promise,我是这么理解的!
  • python 怎样使用单个反斜杠\
  • 2017-09-12 前端日报
  • canvas 绘制双线技巧
  • create-react-app项目添加less配置
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • KMP算法及优化
  • node.js
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • Vue.js源码(2):初探List Rendering
  • webpack入门学习手记(二)
  • 百度小程序遇到的问题
  • 从零开始在ubuntu上搭建node开发环境
  • 大数据与云计算学习:数据分析(二)
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 前端代码风格自动化系列(二)之Commitlint
  • 收藏好这篇,别再只说“数据劫持”了
  • 通过npm或yarn自动生成vue组件
  • 仓管云——企业云erp功能有哪些?
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • #define用法
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #微信小程序:微信小程序常见的配置传值
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (MATLAB)第五章-矩阵运算
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (二)c52学习之旅-简单了解单片机
  • (算法)Game
  • (转载)CentOS查看系统信息|CentOS查看命令
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .NET 3.0 Framework已经被添加到WindowUpdate
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • .NET下的多线程编程—1-线程机制概述
  • .php文件都打不开,打不开php文件怎么办
  • /var/lib/dpkg/lock 锁定问题
  • @html.ActionLink的几种参数格式
  • [ HTML + CSS + Javascript ] 复盘尝试制作 2048 小游戏时遇到的问题