javascript數(shù)據(jù)結(jié)構(gòu)-桟

//satck構(gòu)造函數(shù)

function Stack() {

this.items = [];

this.top = 0;

}

/*桟具有以下方法

push() 進(jìn)棧

pop() 退棧

size() 棧大小

empty() 判斷棧是否為空

peek() 返回棧頂元素

clear() 清空棧

*/

//給桟添加方法

Stack.prototype = {

constructor: Stack,

push: push,

pop: pop,

size: size,

empty: empty,

peek: peek,

clear: clear

}

function push() {

var item = [];

this.items[this.top++] = item;

}

function pop() {

if (this.top === 0) {

return;

} else {

var item = this.items[this.top - 1];

this.items.length = --this.top;

return item;

}

}

function size() {

return this.top

}

function empty() {

return this.top === 0;

}

function peek() {

return this.items[this.top - 1];

}

function clear() {

this.items = [];

this.top = 0;

}

//遞歸函數(shù)

function factorial(n) {

if (n === 0) {

return 1;

} else {

return n * factorial(n - 1);

}

}

factorial(5);

//桟的應(yīng)用:遞歸函數(shù)

/*function factorial(n) {

var s = new Stack(),

result = 1;

while (n > 1) {

s.push(n--);

}

while (s.size() > 0) {

result *= s.pop()

}

return result;

}*/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容