棧是一種遵從後進先出(lifo)原則的有序集合。新新增的或者待刪除的元素都儲存在棧的末尾。稱作棧頂,另一端就叫棧底。在棧裡,新元素都靠近棧頂,舊元素都接近棧底。
function stack()
接下來,是棧的方法:
push(element) -- 新增新元素到棧頂。
pop() -- 移除棧頂的元素,同時返回被移除的元素。
peek() -- 返回棧頂的元素,但不對棧做任何操作。
isempty() -- 如果棧裡沒有任何元素就返回true,否則返回false。
clear() -- 移除棧裡的所有元素。
size() -- 返回棧裡的元素個數。
function stack()
this.pop = function()
this.peek = function()
this.isempty = function()
this.size = function()
this.clear = function()
this.print = function()
}
如何將十進位制與其他進製進行轉換,可以用stack來解決這個問題。
比如要把十進位制轉化成二進位制,可以將十進位制數字和2相除,直到結果是0為止。
function baseconverter(decnumber,base)
while(!remstack.isempty())
return basestring;
}console.log(baseconverter(100345,2));
console.log(baseconverter(100345,8));
console.log(baseconverter(100345,16));
推薦乙個找vue,angular元件的輪子工廠 前端面試總結 資料結構與演算法一
陣列是比較簡單的內容,這裡介紹陣列常用的操作。陣列的建立和初始化非常簡單,你可以通過var arr new array 或者var arr new array a b c 來建立乙個陣列。當然也可以簡單的var arr 這也是最通常的用法。需要在陣列末端追加元素,我們可以簡單的使用number nu...
前端面試總結 資料結構與演算法四
前端的面試中,鍊錶還是經常會被問到。所以熟悉鍊錶的結果以及鍊錶操作的方法還是很重要的。說道儲存多個元素,陣列可能是最常用的資料結構。這種資料結構非常方便,提供了便利店語法來訪問它的元素。但是陣列的缺點就是對元素進行插入或者刪除操作的成本很高,需要移動元素。鍊錶儲存有序的元素集合,但不同於陣列,鍊錶中...
前端面試 資料結構
資料結構面試考點 棧是一種遵從後進先出 lifo,後進先出 原則的有序集合。新新增的或者待刪除的元素都儲存在棧的末尾。稱作棧頂,另一端就叫棧底。在棧裡,新元素都靠近棧頂,舊元素都接近棧底。棧的建立 function stack 接下來,是棧的方法 push element 新增新元素到棧頂。pop ...