在物件導向的程式設計裡,一般都提供了實現佇列(queue)和堆疊(stack)的方法,而對於js來說,我們可以實現陣列的相關操作,來實現佇列和堆疊的功能,看下面的相關介紹.
一 看一下它們的性質,這種性質決定了它們的使用場合
佇列:是一種支援先進先出(fifo)的集合,即先被插入的資料,先被取出!
堆疊:是一種支援後進先出(lifo)的集合,即後被插入的資料,先被取出!
二 看一下實現的**(js**)
var a=new array();看一下執行結果a.unshift(1);
a.unshift(2);
a.unshift(3);
a.unshift(4);
console.log("先進先出")
a.pop()
var a=new array();
a.push(1);
a.push(2);
a.push(3);
a.push(4);
console.log("後進先出")
a.pop()
堆疊與佇列
堆疊與佇列可以用陣列實現,也可以用鍊錶實現。下文統一用鍊錶實現上述資料結構。堆疊服從先進後出原則,只對棧頭進行刪除和插入操作,即封鎖了鍊錶的一端,只對鍊錶的另一端進行操作,就形成了邏輯上的堆疊結構。節點 public class stacknode 堆疊實現 public class stackli...
佇列與堆疊
兩個線性資料結構 堆疊 stack 和佇列 queue 堆疊中元素具有後進先出lifo last in fisrt out 而佇列中的元素確實先進先出fifo fisrt in last out define maxsize 50 define false 0 define true 1 typed...
python實現堆疊 佇列
一 利用python列表實現堆疊和佇列 堆疊 堆疊是乙個後進先出的資料結構,其工作方式就像生活中常見到的直梯,先進去的人肯定是最後出。後進先出 class stack def init self,size self.size size self.stack self.top 1 defpush se...