您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎樣理解Java數據結構與算法中的棧實現,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
前言
棧(stack)又名堆棧,它是一種運算受限的線性表。限定僅在表尾進行插入和刪除操作的線性表。這一端被稱為棧頂,相對地,把另一端稱為棧底。向一個棧插入新元素又稱作進棧、入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素;從一個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使其相鄰的元素成為新的棧頂元素。
棧圖解
Java代碼實現
public class Stack {
private int maxSize;
private long[] arr;
private int top;
// 初始化棧大小
public Stack(int size) {
maxSize = size;
arr = new long[maxSize];
top = -1;
}
// 入棧
public void push(long value){
arr[++top]=value;
}
// 出棧
public long pop() {
return arr[top--];
}
// 棧頂值
public long peek() {
return arr[top];
}
// 判空
public boolean isEmpty() {
return (top == -1);
}
// 判斷棧是否滿了
public boolean isFull() {
return (top == maxSize - 1);
}
}
public static void main(String[] args) {
Stack stack = new Stack(10);
stack.push(1);
stack.push(2);
stack.push(3);
stack.push(4);
stack.push(5);
while(!ms.isEmpty()) {
System.out.println(stack.pop());
}
}
程序運行結果:
關于怎樣理解Java數據結構與算法中的棧實現就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。