資料結構 佇列

2022-04-27 13:56:14 字數 1277 閱讀 4557

佇列(queue)是只允許在一端進行插入,而在另一端進行刪除的運算受限的線性表。

1.允許刪除的一端稱為隊頭(front)。

2.允許插入的一端稱為隊尾(rear)。

3.當佇列中沒有元素時稱為空佇列。

4.佇列亦稱作先進先出(first in first out)的線性表,簡稱為fifo表。

佇列的修改是依先進先出的原則進行的。新來的成員總是加入隊尾(即不允許"加塞"),每次

離開的成員總是佇列頭上的(不允許中途離隊),即當前"最老的"成員離隊

1

///name:queue

2///

author:ja

3///

date:2015-3-645

67///單鏈佇列——佇列的鏈式儲存結構

8 typedef struct

qnodeqnode, *queueptr;

13 typedef struct

linkqueue;

1718

///基本操作的演算法部分

19 status initqueue(linkqueue *q)

2627 status destroyqueue(linkqueue *q)

34return

ok;35}36

37 status enqueue(linkqueue *q,qelemtype e)

4647 status dequeue(linkqueue *q,qelemtype &e)

view code

1.cpu資源的競爭問題。在具有多個終端的計算機系統中,有多個使用者需要使用cpu各自執行自己的程式,它們分別通過各自終端向作業系統提出使用cpu的請求,作業系統按照每個請求在時間上的先後順序,將其排成乙個佇列,每次把cpu分配給隊頭使用者使用,當相應的程式執行結束,則令其出隊,再把cpu分配給新的隊頭使用者,直到所有使用者任務處理完畢。

2.主機與外部裝置之間速度不匹配的問題。以主機和印表機為例來說明,主機輸出資料給印表機列印,主機輸出資料的速度比印表機列印的速度要快得多,若直接把輸出的資料送給印表機列印,由於速度不匹配,顯然是不行的。所以解決的方法是設定乙個列印資料緩衝區,主機把要列印輸出的資料依此寫如到這個緩衝區中,寫滿後就暫停輸出,繼而去做其它的事情,印表機就從緩衝區中按照先進先出的原則依次取出資料並列印,列印完後再向主機發出請求,主機接到請求後再向緩衝區寫入列印資料,這樣利用佇列既保證了列印資料的正確,又使主機提高了效率。

資料結構 佇列

一 佇列的迴圈陣列實現。1 初始化 空佇列。令rear front 0。2 入佇列 約定rear指向佇列尾元素的下乙個位置。入佇列時,先判斷佇列是否已滿,而後將array rear x 然後rear 3 出佇列 約定front指向佇列的首元素位置。出佇列時,先判斷佇列是否為空,而後返回隊首元素re ...

資料結構 佇列

資料參考自 資料結構c 語言描述 佇列是一種先進先出的資料結構,這與棧正好相反。下例是簡單的queue實現 queue.h檔案 ifndef queue h define queue h include include 資料元素結構 自定義 struct datatype 佇列元素最大數 const...

資料結構 佇列

code for fun created by dream whui 2015 1 25 include stdafx.h include include using namespace std define true 1 define false 0 define ok 1 define erro...