この記事の例では、両端キューを実装するためのJavaScriptの具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。 1. 両端キューdeque は、フロントエンドとバックエンドの両方から同時に要素を追加および削除できる特別なキューです。 2. 両端キューの応用チケットを買ったばかりの人が簡単な情報を聞きたいときは、列の先頭に戻ることができます。列の最後尾の人が急いでいる場合は、列を離れることができます。 3. 両端キュー方式addFront(element): このメソッドは、両端キューの先頭に新しい要素を追加します。 4. 実装クラスDeque{ コンストラクタ(){ this.items = {}; カウント = 0; this.lowestCount = 0; } // 両端キューの先頭に新しい要素を追加します。addFront(element){ if(this.isEmpty()){ this.addBack(要素); } そうでない場合(this.lowestCount > 0){ this.lowestCount --; this.items[this.lowestCount] = 要素; } それ以外{ for(let i=this.count;i>0;i--){ this.items[i] = this.items[i-1]; } this.lowestCount = 0; this.items[this.lowestCount] = 要素; this.count++; } }; addBack(要素){ this.count++; this.items[this.count-1] = 要素; }; 前面を削除します(){ if(this.isEmpty()){ 未定義を返します。 } 定数結果 = this.items[this.lowestCount]; this.items[this.lowestCount]を削除します。 this.lowestCount++; 結果を返します。 }; 削除(){ if(this.isEmpty()){ 未定義を返します。 } 定数結果 = this.items[this.count-1]; this.items[this.count-1]を削除します。 this.count--; 結果を返します。 }; ピークフロント(){ if(this.isEmpty()){ null を返します。 } this.items[this.lowestCount]を返します。 }; ピークバック(){ if(this.isEmpty()){ null を返します。 } this.items[this.count-1]を返します。 }; 空です(){ this.count を返します - this.lowestCount == 0; } サイズ(){ this.count - this.lowestCount を返します。 } 文字列(){ if(this.isEmpty()){ 戻る ''; } objString = `${this.items[this.lowestCount]}` とします。 (var i=this.lowestCount+1;i<this.count;i++){ objString = `${objString},${this.items[i]}`; } objString を返します。 } クリア(){ this.items={}; カウント = 0; this.lowestCount = 0; } } const deque = 新しい Deque(); deque.addFront('John'); deque.addFront('Jack'); deque.addFront('エイミー'); deque.addBack('Lisa'); // deque.removeFront(); // deque.removeBack(); console.log(deque.size()); コンソールにログ出力します。 コンソールにログ出力します。 コンソールにログ出力します。 console.log(deque.clear()); コンソールにログ出力します。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: ウェブページを作成するために最もよく使用されるHTMLタグ
>>: CSSを使用してダークモードとブライトモードを切り替える
序文 [root@localhost ~]# cat /etc/fstab # #/etc/fsta...
ブログを書くのは初めてです。開発に携わって2年になります。仕事の後に何か有意義なことを見つけたいと思...
MySQL マルチテーブルクエリ (直積原理)まず、データが使用するテーブルを決定します。デカルト...
目次1. 最も適切なフィールド属性を選択する2. フィールドをNOT NULLに設定してみる3. サ...
jQueryプラグインの毎日の積み重ねメニュー、参考までに、具体的な内容は次のとおりです。スタックメ...
MySQL 4.x 以降では、全文検索 MATCH ... AGAINST モード (大文字と小文字...
<br />ブログを始めて 1 年、私はブログの内外で多くのことを個人的に学びました。ま...
目次HTMLの実装CSSを追加Javascript部分の実装デモアドレス HTMLの実装まず、hea...
Debian の紹介Debian は、広い意味では、フリーなオペレーティング システムの作成に専念...
pre 要素は、フォーマット済みのテキストを定義します。 pre 要素で囲まれたテキストでは、通常、...
この記事では、移行、バックアップ、アップグレードなどのシナリオで使用される Docker イメージの...
CSS のみを使用してどのような充電アニメーション効果を作成できるかを見てみましょう。バッテリーを...
<br />一般的なゲストブック、フォーラムなどでは、テキスト入力ボックスが使われていま...
Awk はテキスト ファイルを処理するためのアプリケーションであり、ほぼすべての Linux システ...
目次準備展開プロセスRocketMQ の初体験関連する質問ヘルプドキュメント私は最近 RocketM...