CH4 鍊錶3 用鍊錶實現棧

2021-10-07 22:31:07 字數 1012 閱讀 3839

棧與鍊錶的特性

棧 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...