使用Javascript实现堆栈数据结构的示例代码
前言本文主要介绍javascript实现堆栈的数据结构,供大家参考。
栈(英语:堆栈),可以直接调用堆栈,在计算机科学中,是一种在特殊结构形式的串行数据,其特征在于:一端的链接或只允许串联阵列(称为堆栈指标,英语:顶)被添加到数据和输出数据((推)流行)操作。此外,栈也可以在一个一维数组或字符串的形式做链接。
因为堆栈数据结构只允许在一端进行操作,它的运行与后进先出的原则(后进先出)-维基百科。
以上是维基百科堆栈的解释。接下来我们使用Javascript(6)代码来实现栈的数据结构
实现堆栈类
*堆栈类
* /
栈类{
构造函数(){
this.data = {}; / /初始化数据
this.top = 0; / /初始化堆栈的位置
}
堆栈方法
推(){
const参数= {…参数};
args.foreach(Arg =这个数据{。顶+ } = arg);
返回this.top;
}
堆栈方法
弹出(){
如果(this.top = = = 0)把新的错误(堆栈已经是空的!);
常量=;
this.data = this.data.slice(0 - 1);
Return peek;
}
返回到堆栈的顶部
窥视(){
退货。数据this.top { 1 };
}
返回堆栈中的元素数
长度(){
返回this.top;
}
清除堆栈中的所有元素
清除(){
this.top = 0;
返回this.data = { };
}
以确定堆栈是否为空。
IsEmpty(){
返回this.top = 0;
}
}
实例化
常量堆栈=新堆栈();
Stack.push(1);
Stack.push(2, 3);
console.log(堆栈。数据); / / { 1, 2, 3 }
Console.log((堆栈。PEEK)); / / 3
console.log(堆栈。流行)(3); / /现在的数据是,{ 1, 2 }
Stack.push(3);
Console.log((堆栈。长度)); / / 3
stack.clear(现在的数据); / / { }
用堆栈的概念把数转换成二进制和八进制
*将数字转换为二进制和八进制
* /
const = numconvert(num,基地)= > {
常量堆栈=新堆栈();
转换=;
当(数字> 0){
Stack.push(民为基础);
Num = math.floor(Num /基地);
}
而(stack.length()> 0){
(转换=堆栈。POP);
}
返回+转换;
}
console.log(numconvert(10, 2)); / / 1010
利用栈的思想去判断一个给定的字符串或数字回文
*判定一个给定的字符串或数字回文
* /
const ispalindrome =字= > {
常量堆栈=新堆栈();
让wordscopy =;
词= words.tostring();
Array.prototype.forEach.call(字,词= stack.push(字));
而(stack.length()> 0){
(wordscopy =栈。流行);
}
返回的话= wordscopy;
}
console.log(ispalindrome('1a121a1 ')); / /真的
console.log(ispalindrome(2121)); / /假
以上是用Javascript的堆栈数据结构的实现,有些算法可能是不合适的,但只显示128516的# JS栈的实现;
总结
以上就是本文的全部内容。希望本文的内容能给大家的学习或工作带来一定的帮助。如果有任何疑问,您可以留言交流,谢谢您的支持。