就是排隊,先到先得
單端佇列vs雙端佇列
單端:只有乙個口可以進,乙個口可以出。常用
雙端:兩個口都可以進,也都可以出。不常用
四個操作的時間複雜度:
訪問:o(n);搜尋:o(n);
插入:o(1);刪除:o(1)
佇列的常用操作:
佇列的題目:
lc933最近的請求次數
lc239滑動視窗最大值(困難題)
lc933:最近的請求次數:
之前的只實現方法,這道題需要實現乙個類。也就是乙個方法加上建構函式。
題意:ping的時間點和最早的時間點之差小於等於3000的這個時間範圍內,ping的次數(包括最早時間點和ping的時間點)
實質:這就相當於乙個視窗啊,只保留了3000毫秒內的ping記錄。說得好,精闢。
思路:類:建構函式中初始化佇列,方法中實現。
新增元素入佇列。如果佇列長度佇列長度大於0並且時間差》3000,就pop(實際就是pop直到佇列長度為0或者時間差<=3000就停,沒到條件就一直pop)。滿足要求後返回佇列的長度。
這一篇題解不錯:
資料結構之佇列
八 佇列 鏈式佇列 鍊錶實現 隊尾 rear 隊首 front 靜態佇列 陣列實現 必須是迴圈佇列 需要幾個引數來確定,各引數含義 1 佇列初始化 front和rear值都是0 2 佇列非空 front代表佇列第乙個元素 rear代表佇列最後乙個元素的 下乙個元素 3 佇列空 front和rear相...
資料結構之佇列
與棧相反,佇列是一種先進先出的線性表,它只允許在表的一端進行,而在另一端刪除元 素。在佇列中,允許插入的一端叫做隊尾,允許刪除的一端則稱為隊頭。1 鏈佇列 佇列的鏈式表示和實現 用鍊錶表示的佇列簡稱為鏈佇列,乙個鏈佇列顯然需要兩個分別指示對頭和隊尾的指標 分別稱為頭指 針和尾指標 才能唯一確定。這裡...
資料結構之佇列
一 佇列的介紹 佇列 queue 是一種線性儲存結構。它有以下幾個特點 1 佇列中資料是按照 先進先出 fifo,first in first out 方式進出佇列的。2 佇列只允許在 隊首 進行刪除操作,而在 隊尾 進行插入操作。佇列通常包括的兩種操作 入佇列 和 出佇列。1.佇列的示意圖 佇列中...