使用 JavaScript 實現棧

2021-09-07 03:38:28 字數 1715 閱讀 3138

1.棧的基本操作

function

stack() ;

//移除棧頂的元素,同時返回被移除的元素

this.pop = function

() ;

//返回棧頂的元素,不對棧做任何修改

this.peek = function

() ;

//如果棧裡沒有任何元素就返回true,否則返回false

this.isempty = function

() ;

//移除棧裡的所有元素

this.clear = function

() ;

//返回棧裡的元素個數,和陣列的length很像

this.size = function

() ;

//返回棧裡的內容

this.print = function

() ;

}

使用該方法:

var stack = new

stack();

console.log(stack.isempty());

//true

stack.push(1);

stack.push(3);

stack.push(5);

stack.push(7);

console.log(stack.peek()); //7

console.log(stack.print()); //

[1, 3, 5, 7]

console.log(stack.isempty()); //

false

console.log(stack.size()); //

4console.log(stack.pop()); //7

console.log(stack.peek()); //

5 console.log(stack.print()); //

[1, 3, 5]

2.基於該方法實現十進位制數轉換為二進位制數

//

十進位制轉換為二進位制

function

divideby2(decnumber)

while (!remstack.isempty())

return

binarystring;

}var decnumber = 10;

console.log(decnumber + '轉換為二進位制數為:' + divideby2(decnumber)); //

10轉換為二進位制數為:1010

3.基於該方法實現十進位制數轉換為二/八/十六進製制數

//

十進位制轉換為任意進製

function

baseconverter(decnumber, base)

while(!remstack.isempty())

return

basestring;

}var decnumber = 552;

var base = 16;

console.log(decnumber + '轉換為' + base + '進製數為:' + baseconverter(decnumber, base)); //

552轉換為16進製制數為:228

JavaScript棧的實現

建立乙個類來表示棧 function stack 移除棧頂的元素 this.pop function 返回棧頂元素 返回陣列的最後乙個元素 this.peek function 棧為空返回0,否則返回false this.isempty function 返回棧的長度 this.size funct...

使用javascript實現html文字不可選

如何使用js讓html該文字是不可選定它?首先想到的是用css選擇實現,如下面 webkit touch callout none webkit user select none khtml user select none moz user select none ms user select n...

資料結構 棧和佇列 Javascript實現

用順序結構和鏈式結構分別實現棧和佇列 實現順序棧和鏈棧的插入 刪除 獲取棧頂等方法 function 彈棧 var pop function 獲取棧頂元素 var gettop function 獲取棧 var getstack function var arr var front queuesiz...