佇列 順序儲存 簡單實現

2021-10-25 08:46:03 字數 1233 閱讀 6862

佇列最簡單的表示方法是用陣列. 為了實現正確判斷佇列空和佇列滿兩種情況, 我們需要2個指標,

front(指向第乙個元素的前乙個元素), rear(指向最後乙個元素).

在初始情況下, front和rear都等於-1, 每入隊乙個元素rear都加1, 當rear=maxsize-1時,

即佇列已滿. 每出隊乙個元素, front+1

完整**實現如下:

#include #include struct queue ;

typedef struct queue node;

typedef struct queue* link;

// 函式宣告

link createqueue (int maxsize);

void printqueue (link q);

int isfull (link q);

int isempty (link q);

int add (link q, int x);

int del (link q);

int main ()

printqueue(qhead);

// 出隊測試

del(qhead);

del(qhead);

del(qhead);

printqueue(qhead);

return 0;

}// 建立空佇列

link createqueue (int maxsize)

// 列印

void printqueue (link q) else

}printf("\n");

}// 判斷佇列是否已滿

// 是返回1, 否返回0

int isfull (link q) else

}// 判斷佇列是否為空

// 是返回1, 否返回0

int isempty (link q) else

}// 入隊

int add (link q, int x)

q->rear += 1;

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

return 1;

}// 出隊

// 錯誤返回0, 正確返回被出隊元素的值

int del (link q)

q->front += 1;

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

}

佇列 順序儲存 簡單實現

佇列最簡單的表示方法是用陣列.為了實現正確判斷佇列空和佇列滿兩種情況,我們需要2個指標,front 指向第乙個元素的前乙個元素 rear 指向最後乙個元素 在初始情況下,front和rear都等於 1,每入隊乙個元素rear都加1,當rear maxsize 1時,即佇列已滿.每出隊乙個元素,fro...

佇列的順序儲存實現

順序儲存佇列標頭檔案 1 pragma once 2 include3 include4 define max size 102456 順序佇列結構體 7 typedef struct seqqueue 8seqqueue 1213 初始化佇列 14 seqqueue init seqqueue 1...

佇列 迴圈佇列 的順序儲存實現

佇列的順序儲存實現 1 佇列 一端進,另一端出 佇列由兩個引數決定,front 頭 rear 尾 頭指標指向頭乙個元素,尾指標指向指向最後乙個元素的下一儲存單元 若陣列長度為n,當元素個數為n 1時就認為佇列已滿。r指向最後乙個空的元素空間。出隊 頭指標往上移動,入隊 尾指標向上移動,故 靜態佇列只...