ブックマーク / qiita.com/mikecat_mixc (1)

  • JavaScript でキューを実装して性能を比較してみた - Qiita

    JavaScript でキューを実装して性能を比較してみた。 今回は、以下の条件で実装を行った。 クラスとして実装する 1個のデータのエンキューとデキューを行うメソッドをそれぞれ実装する それ以外のメソッド (要素数、先頭を削除せずに取得など) は実装しない エラー処理 (空のときにデキューを試みるなど) は行わない なお、実装で出てくる # つきのメンバ変数はプライベートプロパティである。 方針・実装 配列のpush・shift 配列の末尾に要素を追加するメソッド push をエンキューとして用い、配列の先頭から要素を取り除いて返すメソッド shift をデキューとして用いる。 エンキューとデキューがともに1回メソッドを呼び出すだけで実現でき、シンプルな実装になる。 class QueueShift { #q = []; enqueue(value) { this.#q.push(val

    JavaScript でキューを実装して性能を比較してみた - Qiita
    yorkfield
    yorkfield 2024/04/17
    キューと言えばリングバッファだと思ってた。
  • 1