国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > java實現堆棧的方法

java實現堆棧的方法

來源:千鋒教育
發布人:xqq
時間: 2023-07-28 14:44:45 1690526685

Java實現堆棧的方法

堆棧(Stack)是一種常見的數據結構,它遵循先進后出(Last-In-First-Out,LIFO)的原則。在Java中,我們可以使用數組或鏈表來實現堆棧。

1. 使用數組實現堆棧

使用數組實現堆棧是最簡單的方法之一。我們可以定義一個固定大小的數組,并使用一個指針來指示堆棧頂部的位置。

我們需要定義一個堆棧類,并聲明一個數組和一個指針變量:

public class Stack {

private int[] array;

private int top;

public Stack(int size) {

array = new int[size];

top = -1;

}

接下來,我們可以實現堆棧的基本操作,包括入棧(push)、出棧(pop)、判斷堆棧是否為空(isEmpty)和獲取堆棧頂部元素(peek):

public void push(int value) {

if (top == array.length - 1) {

System.out.println("堆棧已滿,無法入棧!");

return;

}

array[++top] = value;

public int pop() {

if (isEmpty()) {

System.out.println("堆棧為空,無法出棧!");

return -1;

}

return array[top--];

public boolean isEmpty() {

return top == -1;

public int peek() {

if (isEmpty()) {

System.out.println("堆棧為空!");

return -1;

}

return array[top];

2. 使用鏈表實現堆棧

除了使用數組,我們還可以使用鏈表來實現堆棧。鏈表實現堆棧的好處是可以動態地調整堆棧的大小。

我們需要定義一個節點類,表示鏈表中的每個節點:

class Node {

int value;

Node next;

public Node(int value) {

this.value = value;

this.next = null;

}

然后,我們可以定義一個堆棧類,并聲明一個頭節點變量:

public class Stack {

private Node top;

public Stack() {

top = null;

}

接下來,我們可以實現堆棧的基本操作,包括入棧(push)、出棧(pop)、判斷堆棧是否為空(isEmpty)和獲取堆棧頂部元素(peek):

public void push(int value) {

Node newNode = new Node(value);

if (isEmpty()) {

top = newNode;

} else {

newNode.next = top;

top = newNode;

}

public int pop() {

if (isEmpty()) {

System.out.println("堆棧為空,無法出棧!");

return -1;

}

int value = top.value;

top = top.next;

return value;

public boolean isEmpty() {

return top == null;

public int peek() {

if (isEmpty()) {

System.out.println("堆棧為空!");

return -1;

}

return top.value;

以上就是使用數組和鏈表兩種方法實現堆棧的示例代碼。根據實際需求,你可以選擇其中一種方法來實現堆棧功能。

聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT