1、基本概念
普通的隊(duì)列是一種先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),元素在隊(duì)列尾追加,而從隊(duì)列頭刪除。在優(yōu)先隊(duì)列中,元素被賦予優(yōu)先級(jí)。當(dāng)訪問(wèn)元素時(shí),具有最高優(yōu)先級(jí)的元素最先刪除。優(yōu)先隊(duì)列具有最高級(jí)先出 (largest-in,first-out)的行為特征。(百度百科)
抽象數(shù)據(jù)類型:
優(yōu)先隊(duì)列的接口同前面講到的隊(duì)列的接口一樣,是其基于泛型的API接口代碼如下:
public interface Queue<E> { //隊(duì)列是否為空 boolean isEmpty(); //隊(duì)列的大小 int size(); //入隊(duì) void enQueue(E element); //出隊(duì) E deQueue(); }
2、基于數(shù)組實(shí)現(xiàn)的優(yōu)先隊(duì)列
實(shí)現(xiàn)優(yōu)先隊(duì)列最簡(jiǎn)的方法就是基于前面講到的基于數(shù)組的棧的代碼,只需對(duì)插入或刪除操作作相應(yīng)的更改即可。