var Queue = function () { //ä½¿ç¨æ°ç»ä½ä¸ºéåçè½½ä½ var items = []; //å ¥å this.enqueue = function (element) { items.push(element); } //åºå this.dequeue = function () { return items.shift(); } //æ¥çéå头 this.front = function () { return items[0]; } //æ£æ¥é忝å¦ä¸ºç©º this.isEmpty = function () { return items.length === 0; } //è·åéåé¿åº¦ this.size = function () { return items.length; } //è·åå ¨é¨éå this.getItems = function () { return items; } } //å»é¼ä¼ è±ä¾é¢ var chuanhua = function (number) { // var q = new Queue; var gamer = ['a', 'b', 'c', 'd', 'e', 'f', 'g']; for (var i = 0; i < gamer.length; i++) { q.enqueue(gamer[i]) } while (q.size() > 1) { var j = 1 while (j < number) { q.enqueue(q.dequeue()); j++; } var out = q.dequeue(); console.log(out); } return q.front(); } //ä¼å éå var PriorityQueue = function () { var items = []; //设å®ä¸ä¸ªè¾ å©ç±»ï¼åå¨éåå ç´ çåéåå ç´ çä¼å çº§æ°æ® var QueueItem = function (element, priority) { this.element = element; this.priority = priority; } //å ¥å this.enqueue = function (element, priority) { var queueItem = new QueueItem(element, priority); //设å®ä¸ä¸ªè¾ å©åéï¼å¤æå ç´ æ¯å¦å·²ç»æå ¥éå var add = false; //éåéåæ£æ¥æ¯ä¸ªå ç´ çä¼å 级 for (var i = 0; i < items.length; i++) { //å å ¥å¾ æå ¥å ç´ çä¼å 级大äºéåçå ç´ ï¼åå¨è¯¥å ç´ åæå ¥å ç´ if (queueItem.priority > items[i].priority) { items.splice(i, 0, queueItem); //æå ¥åè¾ å©åéå为trueï¼éåºå¾ªç¯ add = true; break; } } if (!add) { items.push(queueItem); } } //åºå this.dequeue = function () { return items.shift(); } //æ¥çéå头 this.front = function () { return items[0]; } //æ£æ¥é忝å¦ä¸ºç©º this.isEmpty = function () { return items.length === 0; } //è·åéåé¿åº¦ this.size = function () { return items.length; } this.getItems = function () { return items; } }