JavaScript实现简易版的栈,队列功能 + 栈实现十进制转二进制 + 队列实现击鼓游戏思想

Kiran ·
更新时间:2024-09-21
· 529 次阅读

JavaScript实现简易版的栈+用栈实现十进制转二进制 //栈结构 class Stack { container = []; //进栈 enter(element) { this.container.unshift(element) } //出栈 leave(element) { return this.container.shift(element) } size() { return this.container.length } value() { return this.container } } let num = 58; console.log(num.toString(2)) //111010 // 十进制转二进制,注意此处的栈是从头部塞入,输出的顺序才会符合要求 Number.prototype.change = function change() { let sk = new Stack; let yu = this.valueOf() if (yu === 0) return '0' while (yu > 0) { sk.enter(yu % 2) yu = Math.floor(yu / 2) } return sk.value().join('') } console.log(num.change()) //111010 JavaScript实现简易版的队列功能+队列实现击鼓游戏思想 队列结构 class Queue { container = []; //进队列 enter(element) { this.container.push(element) } //出队列 leave() { return this.container.shift() } size() { return this.container.length } value() { return this.container } } //击鼓游戏,n个人,m个数 function game(n, m) { let qe = new Queue; //放入n个人 for (let i = 1; i 1){ //将非指定数字的人从前面移除,放到队列后面 for(let i = 0 ; i < m-1;i++){ qe.enter(qe.leave()) } // 将指定数字的人从前面移除 qe.leave() } return qe.value().toString() } console.log(game(5,3))
作者:furfur-jiang



队列 进制 二进制 十进制 JavaScript

需要 登录 后方可回复, 如果你还没有账号请 注册新账号