情報アイランド

「情報を制する者は世界を制す」をモットーに様々な情報を提供することを目指すブログです。現在はプログラミング関連情報が多めですが、投資関連情報も取り扱っていきたいです。

Node.jsでスタックを使用する

スタックを使用するにはBucketsパッケージのbuckets-jsモジュールのStackクラスを使用します。

このクラスはスタックの実装であり、下のような関数を提供します。

  • add・・・先頭に要素を追加します。第1引数に追加する要素を指定します。
  • clear・・・全ての要素を削除します。
  • contains・・・要素が含まれているか調べます。第1引数に要素を指定します。第2引数に要素が同一であるか判定するための関数を指定します。第2引数は指定しなくても構いません。
  • equals・・・別のスタックと内容が同一であるか調べます。第1引数にスタックを指定します。第2引数に要素が同一であるか判定するための関数を指定します。第2引数は指定しなくても構いません。
  • forEach・・・それぞれの要素に対して処理を行います。第1引数に実行する処理を関数として指定します。
  • isEmpty・・・空のスタックであるか調べます。
  • peek・・・先頭の要素を取得します。
  • pop・・・先頭の要素を取得し、削除します。
  • push・・・先頭に要素を追加します。第1引数に追加する要素を指定します。
  • size・・・要素の数を取得します。
  • toArray・・・全ての要素から成る配列を取得します。

サンプルコード1

Stackクラスの関数の使用例です。

buckets-js-stack.js

var bucketsJs = require('buckets-js');

var s = new bucketsJs.Stack();

print(s);

s.push(0);
s.push(1);
s.push(2);
s.push(3);

print(s);

console.log(s.isEmpty());

console.log(s.size());

console.log(s.contains(0));
console.log(s.contains(10));

console.log(s.peek());
console.log(s.peek());

console.log(s.pop());
console.log(s.pop());

print(s);

s.clear();

print(s);

console.log(s.isEmpty());

console.log(s.size());

console.log(s.peek());

function print(s) {
    s.forEach(function (e) {
        console.log(e);
    });
}

使用パッケージ

  • Buckets
    npm install buckets-jsでインストールします。

実行結果

C:\work\node>node buckets-js-stack.js
3
2
1
0
false
4
true
false
3
3
3
2
1
0
true
0
undefined

関連

pizyumi
プログラミング歴19年のベテランプログラマー。業務システム全般何でも作れます。現在はWeb系の技術を勉強中。
スポンサーリンク

-Node.js