【探讨】栈和队列

 2023-09-15 阅读 14 评论 0

摘要:转自阿里巴巴团队 提起这两个名词,大家应该非常的熟悉,所谓的栈:是一种限制了插入和删除数据项操作的数据结构。栈又叫做后进先出(LIFO)结构。而队列:是对元素的插入和删除操作具有限制的数据结构的一员。队列又叫做先进先出(FIFO)结构。利用这两个

转自阿里巴巴团队

提起这两个名词,大家应该非常的熟悉,所谓的栈:是一种限制了插入和删除数据项操作的数据结构。栈又叫做后进先出(LIFO)结构。而队列:是对元素的插入和删除操作具有限制的数据结构的一员。队列又叫做先进先出(FIFO)结构。利用这两个,我们就可以做到请求管理了,当然要真正实现请求管理,其实还是有蛮多的工作要去做。这里提供一点思路。下面讲的虽然很简单,但是会很有用
       在JavaScript中我们可以利用Array对象以及内置的一些方法就可以模拟栈和队列的效果了。细数Array对象的方法其实还是很多,常用的有push,pop,join,concat,slice,shift,unshift,sort,splice等等。要模拟栈,只需用到push和pop两个方法,而要模拟队列,也只需要push和shift两个方法。

  1. /************栈***************/
  2. var stack = new Array();//定义一个空栈
  3. stack.push("a1");
  4. stack.push("a2");
  5. stack.push("a3");
  6. alert(stack.toString());//output a1,a2,a3
  7. var sItem = stack.pop();
  8. alert(sItem);//output a3
  9. alert(stack.toString());//output a1,a2
  10.  
  11. /************队列****************/
  12. var enqueue = new Array();//定义一个空的队列
  13. enqueue.push("b1");
  14. enqueue.push("b2");
  15. enqueue.push("b3");
  16. alert(enqueue.toString());//ouput b1,b2,b3
  17. var qItem = enqueue.shift();
  18. alert(qItem);//output b1
  19. alert(enqueue.toString());//output b2,b3

要真正的实现请求管理,其中充斥着逻辑性和技巧性,剩下的有待完善中,也同时期望大家一起来探讨和分享你是如何做到请求管理的。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/57032.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息