首页 > 生活 > 生活妙招

什么是堆栈(进栈出栈顺序图解)

常驻编辑 生活妙招 2022-03-13 堆栈   顺序   进栈出栈

栈的介绍

栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。HjB拜客生活常识网

入栈图解

栈的基本操作(入栈,出栈)

HjB拜客生活常识网

HjB拜客生活常识网

出栈图解

栈的基本操作(入栈,出栈)

HjB拜客生活常识网

代码实现

/** 
* All rights Reserved, Designed By https://www.tulingxueyuan.com/
* @Title: ArrayStack.java
* @Package com.tuling.infix
* @Description: 
* @author 北京图灵学院
* @date 2019年11月21日
* @version V1.0 
*/

package com.tuling.infix;

/**
 * @ClassName: ArrayStack
 * @Description:
 * @author 小白
 * @date 2019年11月21日
 *
 */

public class ArrayStack {

	private int[] stack;
	private int count;
	private int top;

	/**
	 * 创建一个新的实例 ArrayStack.
	 *
	 */
	public ArrayStack() {
		this(10);
	}

	/**
	 * 创建一个新的实例 ArrayStack.
	 *
	 * @param count
	 */
	public ArrayStack(int count) {
		this.count = count;
		stack = new int[count];
		top = -1;
	}
	
	/**
	* 
	* @Title: push
	* @Description:入栈 
	* @param data 
	* @return void 
	* @throws
	*/
	public void push(int data) {
		if(isFull()) {
			throw new IllegalArgumentException("栈溢出!");
		}
		
		stack[  top] = data;
		
	}
	
	/**
	* 
	* @Title: show
	* @Description:显示栈内的所有数据 
	* @param 
	* @return void 
	* @throws
	*/
	public void show() {
		if(isEmpty()) {
			throw new IllegalArgumentException("栈为空!");
		}
		
		//从栈顶开始展示
		for(int i = top; i HjB拜客生活常识网

相关阅读:

  • 马斯克:SpaceX星际飞船将于7月份进行首次轨道飞行
  • Linux内核将引入Rust
  • Stm32
  • 索尼凭什么坐上如今
  • 一文读懂
  • 100%cpu定位方案
  • 学会这几招,边走边拍,纪录下自驾路上最美的瞬间
  • 男人怎么化妆(男生化妆顺序和步骤)
  • 一个甲子是多少年(十二甲子顺序)
  • 记叙顺序有哪些(什么叫记叙文)
    • 网站地图 |
    • 声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不做权威认证,如若验证其真实性,请咨询相关权威专业人士。