スタック・キューメニュー 【キュー実装編】
キュー…要素を挿入順に並べ 先に入れた要素から順に取り出す仕組みのデータ構造
【キュー実装編 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(' '));
}
});
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(' '));
}
});
console.log(A.shift())
で先頭の要素の取り出しと出力を同時に行っています。
コメント