この記事の例では、両端キューを実装するための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を使用してダークモードとブライトモードを切り替える
目次序文1. 再帰コンポーネント2. 右クリックメニューコンポーネント要約する序文今日、プロジェクト...
VMware ツールは VMware の使用に非常に便利です。そのため、VMware ツールをインス...
Google Gmail ページから撮った次のスクリーンショットをご覧ください (同じ場所からスクリ...
1. どのように構築しますか? es5 でクラスを構築する一般的な方法を確認しましょう。まず、es5...
XHTML CSS ページ制作中に遭遇する問題の解決策は、解決策と呼ぶには少々大げさです。せいぜい、...
このチュートリアルの動作環境: Windows 7 システム、MySQL 8 バージョン、Dell ...
カメラを開くと通常はスキャンボックスが表示されますが、静的なQRコードではフォーカスを合わせたりスキ...
この記事の例では、Vueの具体的なコードを共有し、zipファイルをダウンロードして参考にしています。...
序文私は、Web サイトのフロントエンド パフォーマンス最適化のための JavaScript と C...
この記事の例では、商品詳細ページ機能を実現するためのVueの商品タブの具体的なコードを参考までに共有...
原因: java.sql.SQLException: 列の文字列値が正しくありません: '\...
コードをコピーコードは次のとおりです。 <object classid="clsid...
サーバーも 2 つあります。準備:コンテナのホスト名を設定する consul: kv タイプのストレ...
【歴史的背景】私は 3 年間 MySQL-DBA として働いてきましたが、MySQL が「基本的に利...
目次frm ファイルと ibd ファイルの紹介frm ファイル回復テーブル構造ibd ファイル回復テ...