摘要: 代码实现 let Stack = require('./01栈的封装.js') //简单应用: //封装函数:将十进制转成二进制(十转二的运算最后倒叙取余的特点符合栈'先进后出') let dec2bin=(decNumber)=>{ //1.定义一个栈对象,保存余数 var stack=new S 阅读全文
posted @ 2022-06-27 22:01 NaziriteGTC 阅读(211) 评论(0) 推荐(0)
摘要: 栈的封装 /** * 栈常见的操作: * - push(element):添加一个新元素到栈顶位置; * - pop():移除栈顶的元素,同时返回被移除的元素; * - peek():返回栈顶的元素,不对栈做任何修改(该方法不会移除栈顶的元素,仅仅返回它); * - isEmpty():如果栈里没有 阅读全文
posted @ 2022-06-27 21:58 NaziriteGTC 阅读(51) 评论(0) 推荐(0)
摘要: 代码定义 /** * 优先级队列主要考虑的问题为: * 每个元素不再只是一个数据,还包含数据的优先级; * 在添加数据过程中,根据优先级放入到正确位置; */ // 封装优先级队列 function PriorityQueue() { // 封装属性 this.items = [] //内部类:在类 阅读全文
posted @ 2022-06-27 21:54 NaziriteGTC 阅读(37) 评论(0) 推荐(0)
摘要: // 队列的应用 let Queue = require('./01队列的封装') /** * 使用队列实现小游戏:击鼓传花, * 传入一组数据和设定的数字num,循环遍历数组内元素, * 遍历到的元素为指定数字num时将该元素删除,直至数组剩下一个元素。 */ // 队列应用:面试题:击鼓传花 l 阅读全文
posted @ 2022-06-27 21:50 NaziriteGTC 阅读(108) 评论(0) 推荐(0)
摘要: // 二、封装队列类 /** * 队列类的实现: * 队列的实现和栈一样,有两种方案: * - 基于数组实现; * - 基于链表实现; * 队列的常见操作: * - enqueue(element):向队列尾部添加一个(或多个)新的项; * - dequeue():移除队列的第一(即排在队列最前面的 阅读全文
posted @ 2022-06-27 21:42 NaziriteGTC 阅读(50) 评论(0) 推荐(0)