文字キュー用のインターフェースの作成。
開発される 3 つの実装:
固定サイズの線形キュー。
循環キュー (配列スペースを再利用)。
動的キュー (必要に応じて増加します)。
1 ICharQ.java というファイルを作成します
// 文字キューインターフェイス。
パブリック インターフェイス ICharQ {
// キューに文字を挿入します。
void put(char ch);
// キューから文字を削除します。
char get();
}
2 IQDemo.java というファイルを作成します。
3 ここに示すFixedQueueクラスを追加して、IQDemo.javaの作成を開始します。
4 以下に示す CircularQueue クラスを IQDemo.java に追加します。
循環キュー操作: 要素を削除するときに配列内で解放されたスペースを再利用します。削除がある限り、無制限の数の要素を保存できます。
境界条件: 配列の末尾に到達してもキューはいっぱいではありませんが、削除されていない項目が新しい項目で上書きされるとキューはいっぱいになります。
put() メソッドは、キューがいっぱいかどうかを判断するためにいくつかの条件をチェックする必要があります。
満杯のキューの条件: 次の場合、キューは満杯です。 putloc が getloc より小さい単位です。 putloc は配列の最後にあり、getloc は先頭にあります。
空のキュー条件: getloc と putloc が等しい場合、キューは空です。
配列サイズ: チェックを容易にするために、基になる配列はキュー サイズより 1 単位大きく作成されます。
5 以下に示す DynQueue クラスを IQDemo.java に挿入します。スペースが不足するとサイズを拡張する「拡張可能な」キューが実装されています。
6 ICharQ の 3 つの実装をデモンストレーションするには、次のクラスを IQDemo.java に挿入します。 ICharQ 参照を使用してすべてのキューにアクセスします。
クラス IQDemo {
public static void main(String args[]) {
FixedQueue q1 = 新しいFixedQueue(10);
DynQueue q2 = 新しい DynQueue(5);
CircularQueue q3 = 新しい CircularQueue(10);
ICharQ iQ;
チャーch;
int i;
iQ = q1;
// いくつかの文字を固定キューに挿入します。
for(i=0; i
iQ.put((char) ('A' i));
// キューを表示します。
System.out.print("固定キューの内容: ");
for(i=0; i
ch = iQ.get();
System.out.print(ch);
}
System.out.println();
iQ = q2;
// いくつかの文字を動的キューに挿入します。
for(i=0; i
iQ.put((char) ('Z' - i));
// キューを表示します。
System.out.print("動的キューの内容: ");
for(i=0; i
ch = iQ.get();
System.out.print(ch);
}
System.out.println();
iQ = q3;
// いくつかの文字を循環キューに挿入します。
for(i=0; i
iQ.put((char) ('A' i));
// キューを表示します。
System.out.print("循環キューの内容: ");
for(i=0; i
ch = iQ.get();
System.out.print(ch);
}
System.out.println();
// 循環キューにさらに文字を挿入します。
for(i=10; i
iQ.put((char) ('A' i));
// キューを表示します。
System.out.print("循環キューの内容: ");
for(i=0; i
ch = iQ.get();
System.out.print(ch);
}
System.out.println("n保存して消費"
" 循環キュー。");
// 循環キューからアイテムを保存および消費します。
for(i=0; i
iQ.put((char) ('A' i));
ch = iQ.get();
System.out.print(ch);
}
}
}
7 DynQueue の循環バージョンを作成します。キューをネットするreset()メソッドをICharQに追加します。あるキュー タイプの内容を別のキュー タイプにコピーする静的メソッドを作成します。
以上がキューインターフェイスを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。