App下載

Java基礎(chǔ)——棧 stack 使用方法

猿友 2021-07-14 10:17:49 瀏覽數(shù) (4103)
反饋

本文將會(huì)對(duì) Java 基礎(chǔ)知識(shí)中的棧做一個(gè)簡(jiǎn)單的介紹,主要介紹 Java 中棧的基本使用以及棧的定義方法。

棧(stack)是一種用于存儲(chǔ)數(shù)據(jù)的簡(jiǎn)單數(shù)據(jù)結(jié)構(gòu),與鏈表和順序表很相似,最大的區(qū)別在于數(shù)據(jù)的存取操作。棧的插入和刪除操作只允許在一端執(zhí)行,因此把允許操作的一端稱為棧頂,不允許操作的稱為棧底。插入元素稱為入棧(push),刪除元素稱為出棧(pop),沒(méi)有元素的棧則是空棧。

圖片14

棧是Vector的一個(gè)子類,實(shí)現(xiàn)了一個(gè)標(biāo)準(zhǔn)的后進(jìn)先出的棧。

堆棧只定義了默認(rèn)構(gòu)造函數(shù),用來(lái)創(chuàng)建一個(gè)空棧。

Stack();

堆??梢岳^承Vector的所有方法,同時(shí)自身也制定了一些方法。

圖片15

實(shí)例代碼

import java.util.*;

public class StackDemo {
    static void showpush(Stack<Integer> st, int a) {
        st.push(new Integer(a));
        System.out.println("push(" + a + ")");
        System.out.println("stack: " + st);
    }
    static void showpop(Stack<Integer> st){
        System.out.print("pop -> ");
        Integer a - (Integer) st.pop();
        System.out.println(a);
        System.out.println("stack: ”+st);
    }
    public static void main(String args[]){
        Stack<Integer> st = new Stack<Integer>()
        System.out.println("stack: "+ st);
        shawpush(st,42); 
        showpush(st,66);
        showpush(st,99);
        showpop(st);
        showpop(st);
        showpop(st);
        try {
            showpop(st);
        }catch (EmptystackException e) {
            System.out.println("empty stack");
        }
    }
}

運(yùn)行結(jié)果:

stack : []
push(42)
stack : [42]
push(66)
stack : [42,66]
push(99)
stack : [42,66,99]
pop -> 99
stack : [42,66]
pop -> 66
stack : [42]
pop -> 42
stack: []
pop -> empty stack

總結(jié):

本文關(guān)于Java棧的基本使用和Java棧的定義方法的介紹就到此結(jié)束了,如果還想要了解更多關(guān)于Java基礎(chǔ)知識(shí)的內(nèi)容,請(qǐng)關(guān)注 w3cschool 或 編程獅APP。


0 人點(diǎn)贊