棧與鍊錶的特性
棧 top端進出
鍊錶增刪改查全是o(n),但鍊錶的優勢在於,如果是針對煉表頭操作,增和刪都是o(1)級別的
利用上面兩點,可以實現 鍊錶棧,鍊錶的head端當棧的top端
arraystack vs linkedliststack
乙個需要resize,乙個需要new物件,但都是o(1) 級別,
在時間上沒有量級差別
用鍊錶實現棧 linkedlist-stack
注意這裡要實現棧的功能,用linkedlist,所以
介面stack
linkedlist implements stack
public
class
linkedliststack
implements
stack
@override
public
void
push
(e e)
@override
public e pop()
@override
public e peek()
@override
public
intgetsize()
@override
public
boolean
isempty()
@override
public string tostring (
)public
static
void
main
(string[
] args)
linkedliststack.
pop();
system.out.
println
(linkedliststack);}
}
用鍊錶實現棧
基於介面實現 public inte ce stack引用到上次已經實現的鍊錶 linkedlistlist new linkedlist 1 獲取棧的長度 獲取棧的長度 return public int getsize 2 判斷棧是否為空 判斷棧是否為空 return public boolea...
鍊錶實現棧
include include typedef int datatype 自定義資料型別,假定為整型 struct node 單鏈表結點型別 typedef struct node pnode 結點指標型別 typedef struct node 單鏈表結點結構 node typedef struc...
鍊錶實現棧
include include typedef int datatype 自定義資料型別,假定為整型 struct node 單鏈表結點型別 typedef struct node pnode 結點指標型別 typedef struct node 單鏈表結點結構 node typedef struc...