7.栈

作者: 大旺旺的弟弟小旺旺 | 来源:发表于2021-07-07 22:15 被阅读0次

栈的要求是一个口负责进和出,先入后出的原则,插入和取出数据在一段完成的 ,一段为栈顶一段为栈底,删除正好相反。

使用场景:

  • 子程序调用
  • 递归处理
  • 二叉树遍历

快速入门

  • 使用数组模拟栈,栈是一个有序的列表,可以使用数组来存储数据内容。
  • 实现思路:
    (1) 使用数组类 模拟栈
    (2)定义一个top来表示栈顶
    (3)入栈,加入到top
    (4)出栈

数组方式实现:

public class StackDemo {
    private int maxSize;
    private int arr[];
    private int top = -1;

    public StackDemo(int maxSize){
        this.maxSize = maxSize;
        arr = new int[maxSize];
    }

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

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

    public void push(int num){
        if (isFull()){
            return;
        }
        top ++;
        arr[top] = num;
    }

    public int pop(){
        if (isEmpty()){
            return -1;
        }
        top --;
        return arr[top];
    }
}

相关文章

  • 7.栈

    栈的要求是一个口负责进和出,先入后出的原则,插入和取出数据在一段完成的 ,一段为栈顶一段为栈底,删除正好相反。 使...

  • 栈&队列题目

    7. 用两个栈实现队列 思路 定义两个栈,push:将node放入stack1 pop: 将stack1 中nod...

  • 7.栈和队列

    栈是一个先进后出的线性表。它要求只在表尾(栈头Top)进行删除和插入操作。 线性表有两种存储形式 ,所以栈也分为顺...

  • 7.栈(七)至此栈部分结束

    题目汇总:https://leetcode-cn.com/tag/stack/剑指 Offer 30. 包含min...

  • 7.队列(Queue)与栈(Stack)

    概念 Queue:队列是一种先进先出的数据结构,类似排队。Stack: 栈是一种先进后出或者说后进先出的数据结构,...

  • 第17课 IDA 常用操作

    IDA调式界面 1.反汇编窗口 2.十六进制窗口 3.寄存器窗口 4.模块窗口 5.线程窗口 6.栈窗口 7.输出...

  • Java实现栈

    数组栈:压栈、出栈、返回栈顶元素 链式栈:压栈、出栈、返回栈顶元素

  • 数据结构之 栈

    栈结构 链式栈 一.栈结构体 1构建空栈 2栈置空 3判断栈空 4获取栈顶 5入栈 6出栈 7便利栈 二.链式栈 ...

  • 栈和队列

    1、栈 栈是一种先进先出的数据结构。栈顶进栈,栈顶出栈。 数据结构 栈的初始化 进栈 出栈 栈的最小值 2、队列 ...

  • 递归累加数组

    入栈 5入栈 4入栈 3入栈 2入栈 1出栈 [1 0]出栈 [2 1 0]出栈 [3 2 1 0]出栈 [4 3...

网友评论

    本文标题:7.栈

    本文链接:https://www.haomeiwen.com/subject/xrcpultx.html