◇
○キュー
説明
待ち行列 First In First Out FIFO 順番は維持
基本操作
リングバッファ( 入れる 出す )
使用例
ウィンドウシステム(X端末)のキー入力、マウス入力など
Unix のプリンタ制御
マルチタスクでの仕事の切換え
◇
プログラム例(一部であり連続していない)
double queue[N], x, y;
int q1, q2, qn;
/* 初期状態 */
q1=0; /* データを入れる場所 */
q2=0; /* データを取り出す場所 */
qn=0; /* データの数 */
◇
/* put x */
queue[q1]=x;
q1=q1+1;
qn=qn+1;
if( q1>=N ){ /* 終を越えたら始めに戻す「リング」 */
q1=0;
}
/* get y */
y=queue[q2]
q2=q2+1;
qn=qn-1;
if( q2>=N ){ /* 終を越えたら始めに戻す「リング」 */
q2=0;
}
戻る