数据结构——栈的使用


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);
    }
}

栈的应用

平衡字符

平衡字符详解

后缀表达式

发布了98 篇原创文章 · 获赞 105 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_34691097/article/details/103244378
今日推荐