2022.6.8 数据结构与算法--栈的封装

 // Method:和某一个对象实例有联系
 // function
//封装栈类
function Stack() {
//栈中的属性
this.items = []
//栈的相关操作
// 1.将元素压入栈
Stack.prototype.push = function (element){
this.items.push(element)
}
//2.从栈中取出元素
Stack.prototype.pop = function () {
return this.items.pop()
// 3.查看一下栈顶元素
Stack.prototype.psek =function) {
return this.items[this.items.length - 1]
}
//4.判断栈是否为空
Stack. prototype.isEmpty = function) {
return this.items.length == o
}
//5.获取栈中元素的个数
Stack.prototype.size = function () {
return this.items.length
}
// 6.toString方法
Stack. prototype.tostring = function () {
// 20 10 12 8 7
// this.items.join('')
var resultstring = ''
for (var i = 0; i < this.items.length; i++) {
resultString += this.items[i] + ''
}
return resultstring 
}
}
//栈的使用
var s = new Stack()



//函数:将十进制转成二进制
function dec2bin(decNumber) {
//1.定义栈对象
var stack = new Stack(
//2.循环操作
while (decNumber > 0){
// 2.1.获取余数,并且放入到栈中
stack.push(decNumber % 2)
//2.2.获取整除后的结果,作为下一次运行的数字
decNumber = Math.floor(decNumber / 2)
}
//3.从栈中取出0和1

var binaryString =''
while (!stack.isEmpty()){
binaryString += stack.pop()
}
return binaryString
//测试十进制转二进制的函数



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值