js裡實現佇列與堆疊

2021-09-06 22:33:58 字數 556 閱讀 8523

在物件導向的程式設計裡,一般都提供了實現佇列(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...