4. 若一個佇列以陣列實作,採用循環佇列(Circular Queue)方式,若 front = 4,rear = 2, 且陣列大小為 6,則佇列中元素個數為下列何者?
(A) 2
(B) 4
(C) 5
(D) 3

答案:登入後查看
統計: A(3), B(8), C(8), D(5), E(0) #3447871

詳解 (共 2 筆)

#6444343
循環佇列元素個數公式:若 rear &g...
(共 168 字,隱藏中)
前往觀看
4
0
#6443740

在循環佇列(Circular Queue)中,計算元素的個數取決於 front 和 rear 指標的定義方式。最常見且通常用於判斷佇列滿或空的定義方式是:

  • front 指向佇列的第一個元素
  • rear 指向佇列中下一個可插入元素的位置(即目前最後一個元素的下一個空位)。
  • 當 front == rear 時,佇列為空。
  • 當 (rear + 1) % N == front 時,佇列為滿(其中 N 是陣列的大小,並且通常會留一個空位來區分空和滿)。

根據這種常見的定義,元素的個數可以透過以下公式計算: 元素個數 = (rear - front + N) % N

題目給定:

  • front = 4
  • rear = 2
  • 陣列大小 N = 6

將這些值代入公式: 元素個數 = (2 - 4 + 6) % 6 元素個數 = ( -2 + 6) % 6 元素個數 = (4) % 6 元素個數 = 4

我們也可以透過視覺化來確認: 假設陣列索引為:0, 1, 2, 3, 4, 5

  • front = 4 表示佇列的第一個元素在索引 4。
  • rear = 2 表示下一個元素將插入到索引 2。

根據 front 指向第一個元素,rear 指向下一個空位的約定,佇列中的元素佔據的索引位置為: 4 (front) 5 0 1 而索引 2 是 rear 指向的空位,不包含元素。

因此,佇列中實際有 4 個元素。

The final answer is B

0
0