資料結構與演算法 C語言 02 佇列

2021-09-12 13:03:09 字數 1307 閱讀 6760

(通用佇列的順序實現)請用順序儲存實現通用佇列的資料結構myqueue。你所實現的佇列應包括:出隊、入隊、訪問隊首、判斷佇列是否已滿,判斷佇列是否為空等功能。利用你實現的myqueue實現輸入整數序列的順序輸出。

【輸入】整數序列以-1結束,序列長度小於100

【輸出】輸入整數序列的順序序列

例如:【輸入】3 9 8 2 5 -1

【輸出】3 9 8 2 5

#include

#include

#include

#define maxsize 100

//佇列的最大容量

typedef

int datatype;

//佇列中元素型別

typedef

struct queue

myqueue;

void

initqueue

(myqueue *q)

//佇列初始化,將佇列初始化為空佇列

intisempty

(myqueue *q)

//判斷隊列為空

return0;

}int

isfull

(myqueue* q)

//判斷佇列是否為滿

return0;

}int

enqueue

(myqueue *q,datatype data)

//入隊,將元素data插入到佇列sq中

q->queue[q->rear]

= data;

//在隊尾插入元素data

q->rear = q->rear +1;

//隊尾指標後移一位

}int

dequeue

(myqueue* q,datatype* data)

//出隊,將佇列中隊頭的元素data出隊,出隊後隊頭指標front後移一位

*data = q->queue[q->front]

;//出隊元素值

q->front =

(q->front)+1

;//隊尾指標後移一位

return1;

}int

gethead

(myqueue *q,datatype *data)

//獲取隊首元素

return

*data = q->queue[q->front];}

void

clearqueue

(myqueue* q)

//清空佇列

intmain()

}

資料結構與演算法(13) 佇列

定義 佇列是一種只能在一端插入 隊尾 在另一端刪除 隊首 的有序線性表。佇列的第乙個插入的元素也是第乙個被刪除的元素。所以,佇列是一種先進先出 fifo,first in first out 或後進後出 lilo,last in last out 線性表。佇列操作的專有名稱 向佇列中插入乙個元素,稱...

資料結構與演算法 6 佇列

引導 今天我們進入最後一章資料結構的學習 佇列。通過前面幾篇的學習,我們已經了解到了陣列,鍊錶,棧等資料結構。資料結構就是堆特定問題進行抽象話的東西,內容並不多。後面就開始介紹利用這些基礎的資料結構加上演算法來解決特定的問題。佇列佇列和棧都是抽象的資料結構,是乙個操作受限的線性表。它的特點就是先進先...

資料結構與演算法4 佇列

佇列 佇列的定義 佇列的基本操作 1 初始化佇列 initqueue q 將佇列q設定成乙個空佇列。2 入佇列 enqueue q,x 將元素x插入到隊尾中,也稱 進隊 插入 3 出佇列 outqueue q,e 將佇列q的隊頭元素刪除,並用e返回其值,也稱 退隊 刪除 4 取隊頭元素 gethea...