佇列是遵循fifo(first in first out,先進先出,也稱為先來先服務)原則的一組有序的項 佇列在尾部新增新元素,並從頂部移除元素。最新新增的元素必須排在佇列的末尾。
enqueue(element(s)):向佇列尾部新增乙個(或多個)新的項。
dequeue():移除佇列的第一(即排在佇列最前面的)項,並返回被移除的元素。
front():返回佇列中第乙個元素——最先被新增,也將是最先被移除的元素。佇列不
做任何變動(不移除元素,只返回元素資訊——與stack類的peek方法非常類似)。
isempty():如果佇列中不包含任何元素,返回true,否則返回false。
size():返回佇列包含的元素個數,與陣列的length屬性類似。
//建立乙個自己的佇列
function myqueen() ;
this.dequeue =function () ;
this.front =function () ;
this.isempty =function () ;
this.clear =function () ;
this.size =function () ;
this.print =function () ;
}var queue = new
myqueen();
console.log(queue.isempty());
//輸出true
//向佇列新增
queue.enqueue("
john");
queue.enqueue(
"jack");
queue.enqueue(
"camila");
queue.print();
//佇列陣列轉換字串
console.log(queue.size()); //
輸出3 console.log(queue.isempty()); //
輸出false
queue.dequeue();//
移除第乙個進來的 然後下面輸出jack,camila
queue.print();
優先佇列:元素的新增和移除是基於優先順序的。乙個現實的例子就是機場登機的順序。頭等艙和商務艙乘客的優先順序要高於經濟艙乘客。在有些國家,老年人和孕婦(或帶小孩的婦女)登機時也享有高於其他乘客的優先順序。
//優先佇列
function priorityqueue() ;
//: 要向priorityqueue新增元素,需要建立乙個特殊的元素這個元素包含了要新增到佇列的元素(它可以是任意型別及其在佇列中的優先順序。
function queueelement(element, priority) 建立新元素
this.element =element;
this.priority = priority;//
表示優先順序
}
this.enqueue = function (element, priority) 如果隊列為空 新增元素
items.push(queueelement);
} else 一旦找到priority值更大的元素,就插入新元素
//陣列的splice()的方法 在i索引位置開始,刪除後面0個元素,插入元素
added = true
;
break; //
終止for迴圈
} }
if (!added) 如果要新增元素的priority值大於任何已有的元素,把它新增到佇列的末尾就行了
items.push(queueelement);}}
this.print =function ()
str += items[0].element + "
_" + items[0
].priority ;
}console.log(str);
};};
//其他方法和預設的queue實現相同
}
var priorityqueue = new
priorityqueue();
priorityqueue.enqueue(
"john
", 2); //
[john,2]
priorityqueue.enqueue("
jack
", 1);//
[jack,1],[john,2]
priorityqueue.enqueue("
camila
", 1);//
[jack,1],[camila,1],[john,2]
priorityqueue.print();//
輸出 jack_1
C語言第三頁筆記
61.對乙個p進製的數,如果要轉換為q進製,需要分為兩步 第一步先將p進製數轉換為十進位制 數,第二步再將十進位制數轉換為q進製數 62.雜湊 將元素通過乙個函式轉換為整數,使得該整數可以盡量唯一地代表這個元素。其中把這 個函式稱為雜湊函式h。63.除留餘數法是指把key除以乙個數mod得到的餘數作...
Head First C 中文版 第三頁
c 和visual studio ide讓很多事情變得簡單 使用c 和vs,你就得到了所有那些優秀的特性,無需做任何額外的工作。這些特性使得你可以 快速構建應用。用c 建立程式是小菜一碟。c 好學而且強大,vs又可以自動為你完成很多任務作。你可以把俗氣的 交給vs去完成,自己把精力集中在要完成的事上...
unittest介面自動化測試第三頁
封裝日誌使用方法 import logging 日誌位址引數loginfopath loginfopath r d pycharm pycharm pure book pycharmprojects untetest inte ce log info logs.txt class logprint ...