設一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
感謝
--
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