1. 程式人生 > >佇列的應用(queue)

佇列的應用(queue)

佇列是一種先進先出的資料結構

理解為食堂打飯,先排隊的人先打到

【注意】

佇列總是從隊尾加入元素,而從隊首移除元素,並且滿足先進先出的規則

一般來說

需要一個隊首指標front來指向隊首元素的前一個元素

而使用一個隊尾指標rear來指向隊尾元素

當使用陣列來實現佇列時,隊首指標front和隊尾指標rear為int型變數

(陣列下標從0開始)

而當使用連結串列來實現佇列時

則為int*型變數的指標

常規操作

①清空(clear)

使用陣列來實現佇列時,初始狀態為front=-1,rear=-1

void clear()

{front=rear=-1;}

②獲取佇列內元素個數

rear-front

③判空

front=rear

④入隊(push)

void push(int x)

{q[++rear]=x;}

⑤出隊(pop)

void pop(){front++;}

⑥取隊首元素(get_front)

int get_front()

{return q[front+1];}

⑦取隊尾元素(get_rear)

int get_rear()

{return q[rear];}

與棧相同,出隊操作和取隊首、隊尾元素操作必須在佇列非空情況

可以用while迴圈反覆pop出元素直到佇列為空

或者直接重新定義一個佇列以實現佇列的清空

知識點來自於《演算法筆記》