看板 Examination 關於我們 聯絡資訊
設一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 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 117.56.240.151 ※ 文章網址: http://www.ptt.cc/bbs/Examination/M.1398392213.A.D30.html
malowda:你推不對吧,這題應該是n個空間最多只用到n-1個空間,看你 04/25 11:40
malowda:推的是空間最大是4然後你又用了4個空間 04/25 11:41
qaz5620:我推的是包含-1共5個空間 4個元素這樣 04/25 12:13
panda555:妳推錯了 此題的head指向第一個元素 tail指向最後一個 04/25 14:39
panda555:第2題 她head指向null tail本身是在head以後的位置做 04/25 14:40
panda555:插入 04/25 14:40
qaz5620:那請問第二題 如果HEAD在NULL TAIL在1我懂 04/25 15:50
qaz5620:他後面又說可取HEAD在1 可是這樣跟TAIL在0衝突了@@ 04/25 15:51
malowda:這是一個單向的QUEUE他設T等於0,H等1不是很明顯是空的嗎 04/25 16:18
malowda:他又沒以T==H為條件怎麼會有衝突 04/25 16:20
panda555:建議你看一下queue的ADT 會比較了解queue的特性 04/25 16:20