スタック実装編

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

スタック…要素を一列に並べて 後に入れた要素から順に取り出すデータ構造

【スタック実装編 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
         A.pop();  // 末尾の要素を削除
         break;
      }
      console.log(A.join(' '));
   }
});
hogeちゃんの画像

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

【スタック実装編 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
         console.log(A.pop());  // 末尾から取り出した要素を出力
         break;
      }
      console.log(A.join(' '));
   }
});
hogeちゃんの画像

console.log(A.pop())で末尾の要素の取り出しと出力を同時に行いました。

コメント