栈,队列 in JavaScript

Posted xinfang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了栈,队列 in JavaScript相关的知识,希望对你有一定的参考价值。

 1 //javascript里面,已经拥有push ,pop,shift,unshift的功能,但是,直接用太过简单。
 2 
 3 // 队列
 4 function Queue() {
 5     var arr = [];
 6     var size = 0;
 7 
 8     var push = function(num) {
 9         arr[size] = num;
10         size++;
11     };
12     var shift = function() {
13         var ret = arr[0];
14         for (var i = size-1;i>0;i--){
15             arr[i-1] = arr[i];
16         }
17         size--;
18         arr.length = size; // arr[size] = null;
19         return ret;
20     };
21     var get = function() {
22         return arr;
23     };
24 
25     var length = function() {
26         return size;
27     };
28 
29     return {
30         shift: shift,
31         push: push,
32         length: length,
33         get: get
34     };
35 };
36 var qu = new Queue();
37 qu.push(1);
38 qu.push(‘a‘);
39 qu.length(); //2 
40 qu.get(); // [1, "a"]
41 qu.shift(); //1
42 qu.get(); //["a"]
43 
44 
45 
46 //
47 function Stock() {
48     var arr = [];
49     var size = 0;
50 
51     this.push = function(num) {
52         arr[size] = num;
53         size++;
54     }
55     this.pop = function() {
56         var ret = arr[--size];
57         arr[size] = null; //or arr.length = size;
59 return ret; 60 } 61 this.length = function() { 62 return size; 63 } 64 this.get = function() { 65 return arr; 66 } 67 }; 68 var st = new Stock();

 


以上是关于栈,队列 in JavaScript的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 异步栈事件循环任务队列

LeetCode与《代码随想录》栈与队列篇:做题笔记与总结-JavaScript版

0182 JavaScript执行机制:单线程,同步任务和异步任务,执行栈,消息队列,事件循环

《剑指offer》之用两个栈实现队列

JavaScript数组的栈方法与队列方法

JavaScript数组的栈方法与队列方法