棧抽象資料結構 棧介面, 描述棧抽象資料型別,泛型引數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語言實現
幾個概念 計算機中的儲存資料結構主要分為連續儲存結構和不連續儲存結構,其中連續儲存結構也稱為線性表,不連續儲存結構也稱為鏈式表。鏈式結構簡單的說就是不連續記憶體的陣列。棧作為一種資料結構,是一種只能在一端進行插入和刪除操作的特殊線性表。它按照先進後出的原則儲存資料,先進入的資料被壓入棧底,最後的資料...