2016-07-22 1 views
1

サイズ5のキューを作成しました。キュー(1,2,3,4,5)に5つの値を挿入しました。今私の前の値はインデックス0にあり、後ろの値はインデックス4(私のキューの最後の位置)を指しています。キューから1つの要素を削除したので、キューには(2,3,4,5)しか含まれていません。今は自分のキューが空いているので、キューはいっぱいではありません。 4つの値のみが入力され、1つの値は削除されます。キュー内の空の場所に新しい値を入力するにはどうすればよいですか?キューがすでにいっぱいになり、いくつかの値が削除されたときにキューに要素を追加する方法はありますか?

答えて

0

あなたがエンキューについて

を使用する必要があります。リアは端位置にあり、空き領域が前にあった場合に

rear = (rear+1)%MAX_SIZE; 

だから今、次のコードは、円形で、インデックスを返す開始します方法。デキュー

デキューの場合で類似

front = (front+1)%MAX_SIZE; 

注:配列は、コード内の空または満杯の場合

あなたはの条件を配置する必要があります。 また、前と後が同じ位置にある場合は、配列が空になったことを意味し、空の位置インデックスを両方とも割り当てる必要があります。

-1

この状態を設定します。 1.(COUNT = MAX)ならば a。キューのオーバーフローを表示します。 b。戻る; 2.それ以外の場合は a。 (REAR = MAX)ならば i。 REAR:= 1; b。そうでなければ i。 REAR:= REAR + 1; c。 QUEUE(REAR):=アイテム。 d。 COUNT:= COUNT + 1; 3.戻ります。

関連する問題