zoukankan      html  css  js  c++  java
  • 【探讨】栈和队列

    转自阿里巴巴团队

    提起这两个名词,大家应该非常的熟悉,所谓的栈:是一种限制了插入和删除数据项操作的数据结构。栈又叫做后进先出(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

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

  • 相关阅读:
    asp.net图片上传代码
    C#(同步调用、异步调用、异步回调)
    跨线程的控件调用
    C# ListView用法详解 很完整
    获取dataGridView双击时判断双击的是下面的行,还是列头
    加密解密类
    C# 中DataGridView 绑定List<T>做数据源的操作问题
    C#获取当前程序集的完整路径
    接口测试-小结
    接口测试用例
  • 原文地址:https://www.cnblogs.com/yuzhongwusan/p/1342397.html
Copyright © 2011-2022 走看看