○キュー
          説明
               待ち行列  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; }
戻る