キュー実装編

スタック・キューメニュー 【キュー実装編】

キュー…要素を挿入順に並べ 先に入れた要素から順に取り出す仕組みのデータ構造

【キュー実装編 step 1】コード

reader.on('close', () => {
   const Q = Number(lines[0]);
   const A = [];
   for (let i = 1; i <= Q; i++) {
      const query = lines[i].split(' ');
      switch (query[0]) {  // query[0]の値で処理を振り分け
      case '1':  // PUSH
         A.push(query[1]);  // 末尾に追加
         break;
      case '2':  // POP(SHIFT)
         A.shift();  // 先頭の要素を削除
         break;
      }
      console.log(A.join(' '));
   }
});
hogeちゃんの画像

query[0] が 1 なら push() を実行(末尾に要素追加)。2 なら shift() を実行(先頭の要素を削除)。

【キュー実装編 step 2】コード

reader.on('close', () => {
   const Q = Number(lines[0]);
   const A = [];
   for (let i = 1; i <= Q; i++) {
      const query = lines[i].split(' ');
      switch (query[0]) {  // query[0]の値で処理を振り分け
      case '1':  // PUSH
         A.push(query[1]);  // 末尾に追加
         break;
      case '2':  // POP(SHIFT)
         console.log(A.shift());  // 先頭の要素を取り出して出力
         break;
      }
      console.log(A.join(' '));
   }
});
hogeちゃんの画像

console.log(A.shift()) で先頭の要素の取り出しと出力を同時に行っています。

コメント