数据结构与算法@佩兹糖果盒 发表于 2019-05-17 | 分类于 数据结构与算法 | 评论数: | 阅读次数: 概述你有一盒佩兹糖果盒,里面塞满红、黄、白三中颜色的糖果,但是你不喜欢黄色口味的糖果。使用栈写一段程序,在不改变盒内其他糖果叠放顺序的基础上,将黄色糖果移出。 详述123456789101112131415161718192021222324252627282930313233343536function pez(num) { // 原始糖盒 var box = new Stack(); // 糖的数组 var sugars = ["红", "黄", "白"]; // 模拟放置糖:根据数量创建糖,并且放到糖盒 for (var i = 0; i < num; i++) { var random = Math.floor(Math.random() * 3); box.push(sugars[random]); } console.log("筛选前顺序:" + box.dataStore); // 辅助盒子 var buffer = new Stack(); // 筛选糖果 while (box.length() > 0) { let sugar = box.pop(); if (sugar !== "黄") { buffer.push(sugar); } } // 清空数据 box.clear(); // 筛选后糖果依次放回原盒子 while (buffer.length() > 0) { let sugar = buffer.pop(); box.push(sugar); } console.log("筛选后顺序:" + box.dataStore);}pez(20); 参考