专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java栈结构(java栈结构有索引吗)

temp10 2024-11-12 13:01:29 java教程 12 ℃ 0 评论

1.栈的定义

:栈(Stack)又名堆栈,是允许在同一端进行插入和删除操作的特殊线性表。其中,允许进行插入和删除操作的一段交租栈顶(Top),另一端叫作栈顶(Bottom),栈顶固定,栈顶浮动。栈中的元素个数为零时,该栈叫作空栈。插入一般交租进栈(Push),删除叫作退栈(Pop)。栈也叫作后进先出的线性表。具体数据结构如下:

2.Java实现栈

栈的数据结构如下:

Java栈结构(java栈结构有索引吗)

要实现一个栈,需先实现一下核心方法:

  • push() :向栈中压入一个数据,先入栈的数据在最下面
  • pop() :弹出栈顶数据,即移除栈顶数据
  • peek() :返回当前的栈顶数据
    定义栈的数据结构
public class Stack<E> {
    private Object[] data=null;
    private int maxSize=0;//栈的容量
    private int top=-1;//栈顶指针
    //构造函数:根据指定的size初始化栈
    Stack(){
        this(10);
    }
    Stack(int initialSize){
        if (initialSize>=0){
            this.maxSize=initialSize;
            data=new Object[initialSize];
            top=-1;
        }else {
            throw new RuntimeException("初始化大小不能小于0"+initialSize);
        }
    }

定义栈push方法

public boolean push(E e){
        if (top==maxSize-1){
            throw new RuntimeException("栈已满,无法继续将元素入栈!");
        }else {
            data[++top]=e;
            return true;
        }
    }

定义栈pop方法

public E pop(){
        if (top==-1){
            throw new RuntimeException("栈为空!");
        }else {
            return (E)data[top--];
        }
    }

定义栈peek方法

 public E peek(){
        if (top==-1){
            throw new RuntimeException("栈为空!");
        }else {
            return (E)data[top];
        }
    }

私信666领取资料

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表