ポインタを用いたリスト(リンクによるリスト)によるキュー(待ち行列)のプログラムである.キューの各要素は以下のような構造体となっている.
typedef struct node{
char word[MAXWORDLEN] ;
struct node *Next ;
} node_t ;
ex4o を実行すると最初は次のようになる.
%ex4o
Initialize a queue.
>
ここで,”> “ は,キューの処理のためのコマンド入力を促すプロンプトである.入力できるコマンドは以下の3つである.
c (キューを初期化する)
e #WORD(s) (キューの先頭に要素(単語(複数も可)WORD(s)をwordに格納した構造体node_t)を追加する)
d (キューの先頭の要素を取り出し,wordの中身を出力する.キューになにもデータがない時は,No more data.と出力する).
以下は実行例である.
% ex4o
Initialize a queue.
   > d
No more data.
   > e programming
Enqueue: [programming]
   > e group 3
Enqueue: [group 3]
   > d
Ctrl-d (コントロールキーを押しながらdを押すこと)でプログラムは終了する,このプログラムを作成せよ.