資料結構之雙端佇列

2021-07-04 23:19:50 字數 851 閱讀 3712

摘要:有時候乙個佇列可能需要能從兩端進出,這時候稱呼它為雙端佇列。具體思路很簡單,從**可以直接看出來。

#include "stdafx.h"

#include "malloc.h"

#include "stdlib.h"

typedef

struct dequeuerecord *queue;

struct dequeuerecord

;queue create(int maxelements)

void inject(queue q,int x)//後端入隊

//插入到尾端

q->array[--q->rear] = x;

q->size++;

}void push(queue q,int x)//前端入隊

//插入前端

q->array[++q->front] = x;

q->size++;

} int eject(queue q)//後端出隊

//刪除後端

q->rear = (q->capcity + q->rear)%q->capcity;

q->size -- ;

return q->array[q->rear++];

}int pop(queue q)//前端出隊

//刪除前端

q->front = (q->capcity + q->front)%q->capcity;

q->size -- ;

return q->array[q->front--];

}int _tmain(int argc, _tchar* argv)

資料結構之 雙端佇列

雙端佇列 deque 是指允許兩端都可以進行入隊和出隊操作的佇列,deque 是 double ended queue 的簡稱。那就說明元素可以從隊頭出隊和入隊,也可以從隊尾出隊和入隊。雙端佇列的儲存結構 public class linkedblockingdeque 複製 從隊頭入隊 publi...

資料結構 佇列 雙端佇列

佇列 queue 是只允許在一端進行插入操作,而在另一端進行刪除操作的線性表。佇列是一種先進先出 first in first out 的線性表,簡稱fifo。允許插入的一端為隊尾,允許刪除的一端為對頭。佇列不允許在中間部位進行操作。假設佇列是q 那麼a1就是對頭元素,而an是隊尾元素。這樣我們就可...

python資料結構 雙端佇列

deque,全名double ended queue 佇列和棧的性質的資料結構 雙端佇列中的元素可以從兩端彈出,其限定插入和刪除操作在表的兩端進行。雙端佇列可以在佇列任意一端入隊和出隊。usr bin env python coding utf 8 created by xuehz on 2017 ...