1.堆疊處理資料的方式都是在同一邊進行,也就是由一端插入,也由同一端刪除,
因此,堆疊處理資料的順序為後進先出(Last In First Out,LIFO);平日生活中,也有
資些堆疊的例子,如堆積木、蓋房子...等,都是一層一層的堆上去,如果要拆下來
的話,也只能從最上面卸下來。
堆疊範例:
3
放入1 放入2 2 放入3 2 取出3 2 取出2 取出1
=> 1 => 1 => 1 => 1 => 1 =>
2.佇列和堆疊處理資料方式是不大一樣的,佇列是屬於先進先出(First In First
Out,FIFO)的觀念,在平日生活中可以看到很多屬於佇列的例子,如排隊上公車、
排隊買電影票或是超市排隊付賬等,皆是先到達的先處理、後到的後處理。
佇列範例:
3
放入1 放入2 2 放入3 2 取出1 3 取出2 取出3
=> 1 => 1 => 1 => 2 => 3 =>
3.堆疊與佇列的實作可以陣列或串列的方?荍@。其基本操作的部份可分為放入
(push)、取出(pop)、查詢(retrieve)、檢查是否滿溢(isfull)、
檢查是否為空(isempy)