美文网首页
用数组实现Stack

用数组实现Stack

作者: DeppWang | 来源:发表于2017-11-26 12:02 被阅读0次

在一些面试题中,常常出现用数组实现Stack,主要实现它的push()/push()/pop()方法。也可以用容器(List)和链表实现,可以看这篇博文。以下是使用数组实现Stack:


public class StackTest {

    public static void main(String[] args) {

        ArrayStack stack = new ArrayStack(10);
        System.out.println("isEmpty: " + stack.isEmpty());
        for (int i = 0; i < 10; i++) {
            stack.push(i);
        }
        System.out.println("isFull: " + stack.isFull());
        System.out.println("thePeek: " + stack.peek());

        while (!stack.isEmpty()) {
            System.out.println(stack.pop());
        }
    }

}

class ArrayStack {
    private int[] array;
    private static int top;//相当于栈顶指针

    public ArrayStack(int size) {
        array = new int[size];
        top = -1;
    }

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

    boolean isFull() {
        return array.length - 1 == top;
    }

    //入栈
    void push(int element) {
        if (isFull()) {
            System.out.println("栈已满");
        }
        array[++top] = element;//注意此处是++top
    }

    //弹栈
    int pop() {
        if (isEmpty()) {
            System.out.println("栈为空");
        }
        return array[top--];
    }

    //查看栈顶元素
    int peek() {
        return array[top];
    }
}

相关文章

  • 用数组实现Stack

    在一些面试题中,常常出现用数组实现Stack,主要实现它的push()/push()/pop()方法。也可以用容器...

  • 用数组实现栈和队列

    1.用数组实现栈Array to Stack size是下一个放数的位置 2.用数组实现队列 用3个变量来控制数组...

  • 数组实现stack

    在 Java 中 Stack 类表示后进先出(LIFO)的对象堆栈。栈是一种非常常见的数据结构,它采用典型的先进后...

  • C++ 数据结构 队列Queue学习

    队列Queue 1.queue也是线性表,可以用数组(由于假溢出的原因使用循环数组)和链表来实现和stack不同的...

  • 堆栈(Stack)---数组实现

    【后缀表达式】运算符号位于两个运算数之后,如,abc+de/- [a+bc-d/e]求值策略:从左向右扫描,逐个处...

  • 栈和队列

    栈——后入先出 利用数组实现,有stack.top表示栈顶元素,为数组的最后一个元素。(也可利用链表实现) 验证栈...

  • [DT课堂原名颜群] 数据结构与算法笔记03 -- 栈与队列

    1. 栈 (stack) 栈满足“先进后出”,换句话说就是“后进先出”。 用数组模拟一个栈实现如下: 2. 队列 ...

  • Stack & Queue基础相关

    1.用栈实现队列solution:两个栈,stack1,stack2,将元素全部压入stack2,然后从stack...

  • 用数组实现栈、队列

    用数组实现一个栈 用数组实现一个队列 用单链表实现给队列

  • 数据结构——栈和队列

    用数组实现栈和队列 用栈实现队列 用队列实现栈 栈和队列的经典算法题最小间距栈宠物收养所 数组实现栈和队列 用数组...

网友评论

      本文标题:用数组实现Stack

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