授業中練習問題7 のプログラムを変更する。
授業中練習問題7 の 2) で変更したプログラムに、指定されたパターン文字列をキューの中の文字列から探索し、そのパターンの数を数える int Count(StringsQueue *q, char *x)
を追加する。
main 関数では (1)エンキュー (2)デキュー (3)ピーク (4)表示 (5)パターンの計数 (0)終了:
と表示する。数字の 5 が入力されると、パターンの文字列を読み込み、(1)で追加した関数 Count を使ってキュー中のパターンを全て数える。最後に、その数を表示する。また、Count の戻り値は 0 の場合は パターンは存在しません.
と表示する。
(2)の変更に加えて、キューがいっぱいになった場合に Enque でエラーと返すのではなく、キューのサイズを自動的に現在のサイズから 8 大きくする機能を実装する。
(3)の変更に加えて、Deque でデキューした後に、キューの空の数が 16 以上になった場合、キューのサイズを自動的に現在のサイズから 5 小さくする機能を実装する。