通過鍊錶實現乙個棧

2021-09-11 07:25:58 字數 1254 閱讀 4539

棧是乙個先進後出的資料結構,本篇文章使用鍊錶來實現乙個棧。

一、定義棧的方法介面

這裡定義了棧的幾個主要方法:

public inte***ce istack
二、實現
/**

* 通過鍊錶實現棧

* @param */

public class linkedstackimplements istack

}// 棧頂元素/節點 , 鍊錶最後的那個元素

private nodetop;

private int size = 0; // 棧中元素數量

public linkedstack()

/*** 棧元素大小

* @return

*/@override

public int size()

/*** 是否為空

* @return

*/@override

public boolean empty()

/*** 壓棧

* @param item

*/@override

public void push(e item)

/*** 彈棧

* @return

*/@override

public e pop()

e result = top.data;

top = top.next;

return result;

}/**

* 檢視棧頂元素

* @return

*/@override

public e peek()

return top.data;

}public static void main(string args)

system.out.println("彈出元素:"+stack.pop());

system.out.println("彈出元素:"+stack.pop());

for (int i = 0; i < 8; i++)

}}

測試結果:

彈出元素:10

彈出元素:9

彈出剩餘元素:8

彈出剩餘元素:7

彈出剩餘元素:6

彈出剩餘元素:5

彈出剩餘元素:4

彈出剩餘元素:3

彈出剩餘元素:2

彈出剩餘元素:1

用鍊錶實現乙個棧

include include typedef int elementtype 棧元素型別 define success 0 define failure 1 定義棧結構 typedef struct stackinfo stackinfo st 函式宣告 stackinfo st createst...

java 通過鍊錶實現棧

節點類 package stack.demo public class node public node getnextnode public void setnextnode node nextnode public object getdata public void setdata objec...

通過兩個佇列實現乙個棧和通過兩個棧實現乙個佇列

1 思路 首先定義兩個佇列queue1 queue2和待輸入資料的陣列arr 將陣列中資料push到佇列queue1中。定義乙個srclength為陣列長度,然後將queue1中資料出到queue2中,直到queue1中剩餘乙個資料為止,將queue1中剩餘乙個資料進行出隊列印,srclength ...