1. 程式人生 > 其它 >如何使用一個數組實現一個棧結構呢?

如何使用一個數組實現一個棧結構呢?

下文是筆者採用陣列實現棧結構的方法分享,如下所示:

實現思路:

通過記錄棧的最後一個位置的索引,即可實現每次都從最末尾取出元素,實現棧結構的先進後出

package com.java265.algorithm;


/*
 * 作者:java265.com
 * 使用陣列實現一個棧結構
 * */
public class ArrayToStack {

    public static void main(String[] args) {

        ArrayStack.add(10);
        ArrayStack.add(20);
        ArrayStack.add(
100); ArrayStack.add(120); ArrayStack.add(110); ArrayStack.add(190); ArrayStack.add(1); ArrayStack.add(2); System.out.println("=========="); ArrayStack.poll(); ArrayStack.poll(); ArrayStack.poll(); ArrayStack.poll(); ArrayStack.poll(); ArrayStack.poll(); ArrayStack.poll(); ArrayStack.poll(); ArrayStack.poll(); ArrayStack.poll(); ArrayStack.poll(); ArrayStack.poll(); ArrayStack.poll(); ArrayStack.poll(); } }
class ArrayStack { // 先進後出 // 固定棧大小 static int[] arr = new int[3]; // endIndex 棧最後一個位置 static int endIndex = 0; static { } static void add(int a) { if (endIndex == arr.length) { System.out.println("棧已滿,壓棧失敗!"); return; } arr[endIndex
++] = a; } static void poll() { if (endIndex == 0) { System.out.println("棧為空,出棧失敗!"); return; } System.out.println("出棧元素為:" + arr[--endIndex]); } }