第十五章 Linked List, Stack and Queue JAVA 程式設計與資料結構 第十五章 Linked List, Stack and Queue
Doubly Linked List Doubly Linked List能夠循著兩個方向前進,也就是說,每一個Node將有兩個Pointer,一個指向下一個(next),一個指向前一個(previous)。
remove 欲維持Linked List的連續性,在移除之後必須將前後的Pointer相互連結。 切斷連結 增加新的連結
加入Node稱之為EnQueue。 移除Node稱之為DeQueue Queue的結構跟Linked List類似,也是排成一列,但是新加入的Node一定要在尾巴(tail),移除的Node一定要是頭(head),好比說網路印表機的程式,新的工作放在隊伍的最後面,排在越前面的越先被完成。 加入Node稱之為EnQueue。 移除Node稱之為DeQueue
Stack Stack跟Queue的想法剛好相反,Queue是像水管一樣,先進去先進來,而Stack卻是先進去者後出來。 Stack分為兩端,分別是Top跟Buttom,且僅有一端(Top)被操作。 加入稱之為Push,移除稱之為Pop
Circular Linked List Circular Linked List結構跟Doubly Linked List類似,只是Circular Linked List的頭尾是相接的。也就是說,head的prev指向tail,而tail的next指向head。