数据结构——栈的使用


title: 数据结构——栈的使用
categories:

  • 数据结构
    tags:
  • 数据结构
    abbrlink: 332301884
    date: 2019-11-06 19:11:43

栈的定义

栈只允许访问一个数据项:即最后插入的数据。移除这个数据项后才能访问倒数第二个插入的数据项。它是一种“后进先出”的数据结构。

栈最基本的操作是出栈(Pop)、入栈(Push),还有其他扩展操作,如查看栈顶元素,判断栈是否为空、是否已满,读取栈的大小等

栈的实现

下面我们就用数组来写一个栈操作的封装类

package com.leeyf.stack;


/** * 初始化一个栈 */
public class Stack<T> {
    private int size; //栈的大小
    private int top; //栈顶下标
    private Object[] stackArray;

    //构造函数
    public Stack(int size) {
        this.size = size;
        this.top = -1;
        this.stackArray = new Object[size];
    }
    //入栈,同时,栈顶元素下标加一
    public void push(T elem){
        stackArray[++top] = elem;
    }
    //出栈,删除栈顶元素,下标减一
    public Object pop(){
        return stackArray[top--];
    }
    //判断为空
    public boolean isEmpty(){
        return (top==-1);
    }

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

栈的应用

平衡字符

平衡字符详解

后缀表达式

全部评论

相关推荐

无情咸鱼王的秋招日记之薛定谔的Offer:好拒信,偷了,希望有机会用到
点赞 评论 收藏
分享
10-29 15:38
门头沟学院 Java
榕城小榕树:难道你简历里写了配送路径优化算法?
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务