摘要:有時候乙個佇列可能需要能從兩端進出,這時候稱呼它為雙端佇列。具體思路很簡單,從**可以直接看出來。
#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 ...