鏈式儲存
typedef int qelemtype;
typedef int status;//具體資料型別具體定義
typedef struct qnode//佇列結點結構體
qnode, *queueptr;
typedef struct // 鏈佇列型別
linkqueue;
status initqueue (linkqueue &q) // 構造乙個空佇列q
status enqueue (linkqueue &q, qelemtype e)// 插入元素e為q的新的隊尾元素
status dequeue (linkqueue &q, qelemtype &e)//若佇列不空,則刪除q的隊頭元素,用 e 返回其值
status gethead(linkqueue q,qelemtype &e)// 若佇列不空,則用e返回q的隊頭元素,並返回ok,否則返回error
status queueempty(linkqueue q) // 若q為空佇列,則返回1,否則返回0
void clearqueue(linkqueue &q) // 將q清為空佇列
}status destroyqueue(linkqueue &q)//銷毀佇列
return 1;
}int queuelength(linkqueue q) // 求佇列的長度
return i;
}順序儲存(迴圈佇列--解決假溢位問題)
1. 頭指標指向隊首元素,尾指標指向隊尾的下乙個位置。(這裡的指標可認為是陣列下標)
2. 為了區分隊滿與隊空,則定義乙個儲存空間為maxqsize大小的佇列只允許存放(maxqsize-1)個資料。
3. 判空條件為:if(q.front == q.rear) return true;
判滿條件為:if((q.rear+1) % maxqsize==q.front) return true;
4. 迴圈佇列的長度為:(q.read-q.front + maxqsize) % maxqsize
5. 當刪除對頭元素或者在對尾插入元素時指標均需向後移動:
(1). q.rear=(q.rear+1) % maxqsize;
(2). q.front=(q.front+1) % maxqsize;
initqueue(&q)//構造乙個空佇列q
gethead(q, &e)//獲取隊頭元素
enqueue(&q, e)//插入隊尾元素
dequeue(&q, &e)//刪除隊頭元素
destroyqueue(&q)//銷毀佇列
clearqueue(&q)//清空佇列
queueempty(q)//判斷佇列是否為空
queuelength(q)//求當前佇列長度
#define maxqsize 100 //最大佇列長度
typedef int qelemtype;
typedef int status;//具體資料型別具體定義
typedef struct
sqqueue;
status initqueue (sqqueue &q) // 構造乙個空佇列q
status enqueue(sqqueue &q, elemtype e)// 插入元素e為q的新的隊尾元素
status dequeue (sqqueue &q, elemtype &e) // 若佇列不空,則刪除q的隊頭元素,用e返回其值
status gethead (sqqueue &q, elemtype &e)//取隊首元素
status queueempty (sqqueue &q)//判斷隊是否為空
void clearqueue(sqqueue &q)// 將q清為空佇列
void destroyqueue(sqqueue &q)// 銷毀佇列q,q不再存在
int queuelength(sqqueue q) // 返回q的元素個數,即佇列的長度
佇列的基本操作
include stdafx.h includeusing namespace std typedef struct node typedef struct queue queue insertqueue queue q,char value return q queue deletequeue q...
佇列的基本操作
本程式主要是實現了迴圈佇列的基本操作,包括insert,remove,peek,size等操作 package demo3 class queue 插入操作 public void insert long j quearray rear j 佇列是在隊尾插入 nitems 刪除 public lon...
佇列的基本操作
鏈式儲存 typedef int qelemtype typedef int status 具體資料型別具體定義 typedef struct qnode 佇列結點結構體 qnode,queueptr typedef struct 鏈佇列型別 linkqueue status initqueue l...