栈结构的概念
是一种“后进先出”的数据结构。
栈作用
栈操作
栈结构操作的方法
push():进栈
pop():出栈
peek():检查栈顶元素
isEmpty():是否为空
clear():清空栈
size():栈元素个数
js实现栈结构–数组
使用类封装栈操作
const Stack = function () {
const items = []; //私有的,只能在函数内部十使用,外部访问不到
// this.items = [];//共有的,外部可以访问
// push 栈顶添加元素
this.push = function (element) {
items.push(element)
}
// pop 栈顶移除元素
this.pop = function(){
// 这里使用 return 是为了返回删除的元素
return items.pop()
}
// peek 检查栈顶元素
this.peek = function(){
return items[items.length-1]
}
// isEmpty 栈是否为空(一般is开头命名的返回Boolean类型)
this.isEmpty = function(){
return items.length == 0
}
// clear 清空栈
this.clear = function(){
return items = [];
}
// size 栈元素个数
this.isEmpty = function(){
return items.length
}
// 检查items
this.getItems = function(){
return items
}
}
使用栈思想实现进制转化
// 使用栈思想实现进制转化
// 参数1 转化的进制数
// 参数2 需要转化为几进制
const binaryConversion = function(num,num2){
var stack = new Stack();
var str = '';
while(num>0){
stack.push(num % num2)
num = Math.floor( num / num2)
}
while(!stack.isEmpty()){
str += stack.pop();
}
return str;
}
栈和函数
在计算机内存栈中是先调用先入栈,而出栈的方式只有一个是“先入后出”
原文地址:https://www.jb51.cc/wenti/3287878.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。