* * 棧介面,描述棧的抽象資料型別,泛型引數t表示資料元素的資料型別
*/public
inte***ce
sstack
棧有兩種基本的實現:
* * 順序棧,實現棧介面
*/public
class
seqstack
implements
sstack
//預設構造,構造容量為64的空棧
public
seqstack()
//判斷棧是否為空,若為空返回true
@override
public
boolean
isempty()
//元素x入棧,空物件不操作
@override
public
void
push
(t x)
this
.top++
;//移動棧頂指標
this
.element[
this
.top]
= x;
//入棧
}//出棧,返回棧頂元素,若棧空返回null
@override
public t pop()
//取出棧頂元素,未出棧,若棧空返回null
@override
public t get()
//返回棧所有元素的描述字串,形式為「(,)」,演算法同順序表
節點類:
public
class
node
public
node
(t data, node
next)
public string tostring()
public
boolean
equals
(object obj)
}
鏈棧的實現:
package pers.zhang.stack;
import pers.zhang.linearlist.linearlist;
import pers.zhang.linearlist.node;
/** * @author zhang
* @date 2020/1/16 - 14:28
* * 鏈棧,實現棧介面
*/public
class
linkedstack
implements
sstack
//判斷棧是否為空,若空返回true
@override
public
boolean
isempty()
//元素x入棧,空物件不操作
@override
public
void
push
(t x)
//出棧,返回棧頂元素,棧空返回null
@override
public t pop()
//取出棧頂元素,未出棧,空棧返回null
@override
public t get()
//返回棧所有元素的描述字串,形式為「(,)」。演算法同不帶頭結點的單鏈表
public string tostring()
return str +
")";
//空表返回()
}}
package pers.zhang.stack;
/** * @author zhang
* @date 2020/1/16 - 14:36
*/public
class
stack_ex
*/ linkedstack
stack =
newlinkedstack
(); system.out.
print
("push: ");
for(
int i=
1; i<=
5; i++
) system.out.
println
("\nstack: "
+stack.
tostring()
);system.out.
print
("pop : ");
while
(!stack.
isempty()
)//全部出棧
system.out.
print
(stack.
pop().
tostring()
+" ");
system.out.
println();}}
輸出如下:
push: a b c d e
stack:
(e, d, c, b, a)
pop : e d c b a
push:12
345 stack:(5
,4,3
,2,1
) pop :54321
資料結構 棧 順序棧和鏈棧
順序棧 基於陣列的順序棧 include include include typedef enum status status typedef int elemtype typedef struct sqstack sqstack 函式宣告 基於陣列的順序棧 status initstack sqs...
C 實現資料結構 順序棧和鏈棧
2020年8月8日 週六 天氣晴 不悲嘆過去,不荒廢現在,不懼怕未來 用c 實現了簡單的順序棧和鏈棧類,成員函式實現了棧的基礎功能 isempty push pop top 並且用實現的棧解決了兩個問題 進製轉換和判斷表示式是否有效,是用vs2019實現的,每個函式的功能都新增了一定注釋,由於用了模...
棧的實現 順序棧和鏈棧
本文主要給出我對棧的實現,包括順序棧和鏈棧兩種實現方式。common.h ifndef common h define common h 函式結果狀態碼 define true 1 define false 0 define ok 1 define error 0 define infeasible...