私は循環キュー内に[0、n-1]があり、[n]は再び[0]の場所にあることを知っています。配列を使用している場合は、A [n-1]へのポインタを1つ増やしてA [0]へのポインタを与える必要があります。このようなデータ構造>キュー:なぜ(rear = front)が空の条件ですか?
通常のキュー:
| _ empty1_ | _ empty2_ | _ empty3_ | _ empty4_ | ...
ので、 "フロント" のポイントここで "EMPTY1" へ。しかし、
最初の質問:キューが空の場合のリアポイントはどこですか?
第2質問:セル「empty1」のキューに要素が1つ含まれている場合、 (* 1)
PS:空のリニアキューとは、rear = -1とfront = 0を意味し、1つのセルがいっぱいのキューはrear = front = 0を意味します。しかし、いくつかの擬似コードでは、(フロント=リア) - >キューがいっぱいになっているのを見たことがあります。だからこれは何ですか?配列のセルは0からn-1までの順番で並べられます。したがって、rear = front = 0には、1つのセルが埋め込まれ、両方が指し示すセルがあります。 (?右)円形キューに
、ステートメント{リア=フロント}キューが空であることを示し、完全なキューの我々は:リア、= 0フロント、N-1 =リア+ 1 = front = 0 = n。
(* 1):私の3番目の質問は第二と同じですが、通達のために。