Queue: FIFO, LIFO
var Queue = (function () {var item = new Weakmap (); class Queue{constructor () {item.set (this,[]);} Enqueue (ele,priority) {var ls = item.get (this); var obj = {Ele:ele,pro:priority};var add = False;for (var i = 0; i < Ls.le Ngth; i++) {if (priority < Ls[i].pro) {Ls.splice (i,0,obj); add = True;break;}} if (!add) {ls.push (obj);}} Dequeue () {var ls = item.get (this); return Ls.shift ();} Size () {var ls = item.get (this); return ls.length;} Front () {var ls = item.get (this); return ls[0];} IsEmpty () {var ls = item.get (this); return!ls.length;} Print () {var ls = item.get (this), for (var i = 0; i < ls.length; i++) {Console.log (' ${ls[i].ele}-${ls[i].pro} ');}}} return Queue;}) (); var queue = new Queue (), Queue.enqueue ("B", 2), Queue.enqueue ("a", 1), Queue.enqueue ("C", 3), Queue.enqueue ("D", 4); Queue.print ();
JS Analog Queue----Small priority queue