作業8 佇列及其應用

2021-08-13 19:15:35 字數 1664 閱讀 2895

2-1

為解決計算機主機與印表機之間速度不匹配問題,通常設定乙個列印資料緩衝區,主機將要輸出的資料依次寫入該緩衝區,而印表機則依次從該緩衝區中取出資料。該緩衝區的邏輯結構應該是? (1分)

堆疊佇列樹

2-2若已知一佇列用單向鍊錶表示,該單向鍊錶的當前狀態(含3個物件)是:1->2->3,其中x->y表示x的下一節點是y。此時,如果將物件4入隊,然後佇列頭的物件出隊,則單向鍊錶的狀態是: (1分)

1->2->3

2->3->4

4->1->2

答案不唯一

2-3在乙個鏈佇列中,front和rear分別為頭指標和尾指標,則插入乙個結點s的操作為( )。 (2分)

front=front->next

s->next=rear;rear=s

rear->next=s;rear=s;

s->next=front;front=s;

2-4依次在初始為空的佇列中插入元素a,b,c,d以後,緊接著做了兩次刪除操作,此時的隊頭元素是( )。 (2分)

abcd

2-5在乙個不帶頭結點的非空鏈式佇列中,假設f和r分別為隊頭和隊尾指標,則插入s所指的結點運算是( )。 (2分)

f->next=s; f=s;

r->next=s; r=s;

s->next=s; r=s;

s->next=f; f=s;

將新節點賦予最後乙個節點(隊尾)之後,2,將新節點作為隊尾

2-1若用大小為6的陣列來實現迴圈佇列,且當前frontrear的值分別為0和4。當從佇列中刪除兩個元素,再加入兩個元素後,frontrear的值分別為多少? (2分)

2和02和22和4

2和6初始化建立空佇列時,令front=rear=0,每當插入新的佇列尾元素時,rear增1,每當刪除乙個佇列首元素時,front增1。因此,在非空佇列中,頭指標始終指向佇列頭元素,而尾指標始終指向佇列尾元素的下乙個位置。

**2-2

如果迴圈佇列用大小為m的陣列表示,且用隊頭指標front和佇列元素個數size代替一般迴圈佇列中的frontrear指標來表示佇列的範圍,那麼這樣的迴圈佇列可以容納的元素個數最多為: (2分)

m-1

m

m+1

不能確定

2-3如果迴圈佇列用大小為m的陣列表示,隊頭位置為front、佇列元素個數為size,那麼隊尾元素位置rear為: (2分)

front+size

front+size-1

(front+size)%m

(front+size-1)%m

選擇判斷 作業9 佇列及其應用

筆記 鏈佇列迴圈佇列 判斷題 所謂 迴圈佇列 是指用單向迴圈鍊錶或者迴圈陣列表示的佇列。f在用陣列表示的迴圈佇列中,front值一定小於等於rear值。f不論是入佇列操作還是入棧操作,在順序儲存結構上都需要考慮 溢位 情況。t 選擇題為解決計算機主機與印表機之間速度不匹配問題,通常設定乙個列印資料緩...

演算法8 佇列及其實現

和上一部分關於棧的部分一樣,不講基本知識,直接實現,走你!佇列和棧相似,也包括一些基本的佇列的操作,初始化,出佇列,入佇列,判空,判滿,清空等操作。1 include 2 include 3 include 45 define queuelen 15 67 typedef struct 8data ...

大一寒假集訓(8) 佇列

佇列的定義 佇列就是允許在一端進行插入,在另一端進行刪 除的線性表。允許插入的一端稱為隊尾,通常用乙個 隊尾指標r指向隊尾元素,即r總是指向最後被插入的 元素 允許刪除的一端稱為隊首,通常也用乙個隊首 指標f指向排頭元素的前面。初始時f r 0 佇列的基本操作 1 初始化佇列 queue int v...