javascript数据结构-桟

//satck构造函数

function Stack() {

this.items = [];

this.top = 0;

}

/*桟具有以下方法

push() 进栈

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;

}

//递归函数

function factorial(n) {

if (n === 0) {

return 1;

} else {

return n * factorial(n - 1);

}

}

factorial(5);

//桟的应用:递归函数

/*function factorial(n) {

var s = new Stack(),

result = 1;

while (n > 1) {

s.push(n--);

}

while (s.size() > 0) {

result *= s.pop()

}

return result;

}*/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容