function stuck () {
let elements = [];
// 存放数据
this.pushElement = function (element) {
return elements.push(element);
};
// 移除栈顶元素
this.popElement = function () {
console.log('移除栈顶元素');
return elements.pop();
};
// 显示栈顶数据
this.peekElement = function () {
console.log('显示栈顶元素');
return elements[elements.length - 1];
};
// 消除所有元素
this.clearElements = function () {
elements = [];
return '消除成功!'
};
// 判断是否为空
this.isEmpty = function () {
console.log('判断栈是否空');
return elements.length == 0 ? '栈空' : '栈不空';
};
this.size = function () {
console.log('栈大小为:');
return elements.length;
};
this.showAll = function () {
let temp = []
elements.forEach(function(x) {
temp.push(x);
})
return temp;
}
};
// 测试
let stuck1 = new stuck();
stuck1.pushElement(1)
stuck1.pushElement(2)
stuck1.pushElement(3)
console.log('查看所有栈数据。仅供参考,并不提供该方法');
console.log(stuck1.showAll());
console.log('------');
console.log('1. 测试判断栈是否为空');
console.log(stuck1.isEmpty());
console.log('------');
console.log('2. 测试输出栈顶数');
console.log(stuck1.peekElement());
console.log('------');
console.log('3. 测试移除栈顶数');
console.log(stuck1.popElement());
console.log(stuck1.peekElement());
// console.log('------');
// console.log('4. 测试清除元素');
// console.log(stuck1.clearElements());
// console.log(stuck1.isEmpty());
console.log('------');
console.log('4. 测试返回栈大小');
console.log(stuck1.size());
console.log('------');
近期考试周,码字少,但每天代码练习没少。
明天更新栈的一些用法
网友评论