資料結構學習 鏈式棧 Java實現

2021-06-26 13:15:53 字數 1811 閱讀 4839

棧抽象資料結構 棧介面, 描述棧抽象資料型別,泛型引數t表示資料元素的資料型別:

package com.clarck.datastructure.stack;

/** * 棧抽象資料結構 棧介面, 描述棧抽象資料型別,泛型引數t表示資料元素的資料型別

* * @author clarck

* * @param */

public inte***ce sstack

棧結點類,t指定結點的元素型別:

package com.clarck.datastructure.stack;

/** * 單鏈表結點類,t指定結點的元素型別

* * @author clarck

* * @param */

public class node

/*** 構造節點

*/public node()

/*** 返回結點元素值對應的字串

*/@override

public string tostring()

/*** 比較兩個結點值是否相等,覆蓋object類的equals(obj)方法

*/@suppresswarnings("unchecked")

@override

public boolean equals(object obj)

}

鏈式棧:

package com.clarck.datastructure.stack;

/** * 鏈式棧

* * @author clarck

* * @param */

public class linkedstackimplements sstack

/*** 判斷棧是否空,若空返回true

*/@override

public boolean isempty()

/*** 元素x入棧,空物件不能入棧

*/@suppresswarnings()

@override

public void push(t x)

}/**

* 出棧,返回棧頂元素,若棧空返回null

*/@override

public t pop()

/*** 取棧頂元素,未出棧,若棧空返回null

*/@override

public t get()

/*** 返回棧所有元素的描述字串,形式為「(,)」。演算法同不帶頭結點的單鏈表

*/@override

public string tostring()

}return str + ") ";

}}

棧的測試類:

package com.clarck.datastructure.stack;

/** * 棧的測試類

* * @author clarck

* */

public class stack_test

system.out.println("\n stack: " + stack2.tostring());

system.out.print("pop: ");

while (!stack2.isempty())

system.out.println();

}}

測試結果:

push: 1 2 3 4 5stack: (5, 4, 3, 2, 1) 

pop: 5 4 3 2 1

資料結構學習 順序棧 Java實現

棧抽象資料結構 棧介面,描述棧抽象資料型別,泛型引數t表示資料元素的資料型別 package com.clarck.datastructure.stack 棧抽象資料結構 棧介面,描述棧抽象資料型別,泛型引數t表示資料元素的資料型別 author clarck param public inte c...

國嵌資料結構學習之棧的鏈式實現

棧的鏈式結構是用以前實現的可復用的單鏈表實現的,和棧的順序結構區別僅僅在儲存結構方面 實現 定義的標頭檔案 ifndef linkstack h define linkstack h typedef void linkstack typedef struct tag linkstacknode li...

資料結構學習 鏈式棧的C語言實現

幾個概念 計算機中的儲存資料結構主要分為連續儲存結構和不連續儲存結構,其中連續儲存結構也稱為線性表,不連續儲存結構也稱為鏈式表。鏈式結構簡單的說就是不連續記憶體的陣列。棧作為一種資料結構,是一種只能在一端進行插入和刪除操作的特殊線性表。它按照先進後出的原則儲存資料,先進入的資料被壓入棧底,最後的資料...