使用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栈的实现;

总结

以上就是本文的全部内容。希望本文的内容能给大家的学习或工作带来一定的帮助。如果有任何疑问,您可以留言交流,谢谢您的支持。