資料結構 - 考試

Table of Contents

設一Queue存於全長為n之密集串列Q內

HEAD, TAIL分別為開始及結尾指標 均以nil表為空

現欲加入新資料 處理可分為以下步驟

依序按條件做以下選擇

(1) 若 (A), 則表示Q已存滿, 無法做插入動作

(2) HEAD為nil, 表示Q內為空, 可取HEAD=1, TAIL=(B)

(3) 若TAIL=N, 表示(C)須將Q內由HEAD到TAIL位置之資料移到由

1到(D)之位置, 並取TAIL=(E), HEAD=1


解答 (A)TAIL-HEAD=N-1 (B)0 (C)佇列已加到陣列尾端

(D)TAIL-HEAD+1 (E)TAIL-HEAD+1
-------------------------------------------

這題我從(A)答案去推 得到以下佇列形式 可是BCDE解答就不知道怎推出了

H T
20 30 40 50
-1 0 1 2 3

3-(-1)=5-1=4

感謝

--

All Comments

Daniel avatarDaniel2014-04-27
你推不對吧,這題應該是n個空間最多只用到n-1個空間,看你
Isla avatarIsla2014-04-29
推的是空間最大是4然後你又用了4個空間
Yedda avatarYedda2014-05-01
我推的是包含-1共5個空間 4個元素這樣
Bethany avatarBethany2014-05-03
妳推錯了 此題的head指向第一個元素 tail指向最後一個
James avatarJames2014-05-06
第2題 她head指向null tail本身是在head以後的位置做
插入
Jack avatarJack2014-05-07
那請問第二題 如果HEAD在NULL TAIL在1我懂
Andy avatarAndy2014-05-07
他後面又說可取HEAD在1 可是這樣跟TAIL在0衝突了@@
Hardy avatarHardy2014-05-09
這是一個單向的QUEUE他設T等於0,H等1不是很明顯是空的嗎
Yuri avatarYuri2014-05-10
他又沒以T==H為條件怎麼會有衝突
Regina avatarRegina2014-05-11
建議你看一下queue的ADT 會比較了解queue的特性