この記事の例では、両端キューを実装するための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を使用してダークモードとブライトモードを切り替える
参考: Docker 公式 Redis ドキュメント1. 特別なバージョン要件がある場合は、redi...
Dockerの場合すべてのコンテナコマンドを開始する docker を起動します $(docker ...
質問docker run コマンドを使用して、tomcat コンテナが正常に追加されました。ポートも...
以下のように表示されます。 nsenter -t 1 -m -u -n -i sh -c "...
1. MYSQLに接続するフォーマット: mysql -h ホストアドレス -u ユーザー名 -p ...
システムをリセットした後、かなり前にインストールした MySQL データベースのコンソール クエリで...
この記事は主に、初心者に XHTML の基本的な知識と、XHTML と HTML の違いを理解しても...
目次情事の概念取引の状態取引の役割取引の特徴トランザクション構文トランザクション対応ストレージエンジ...
<br />Web ページをデザインするときには、いつも不快なことに遭遇します。最も一般...
Nginx (エンジン x) は、IMAP/POP3/SMTP サービスも提供する高性能 HTTP ...
エフェクトのスクリーンショット:実装コード:コードをコピーコードは次のとおりです。 <!DOC...
序文最近、私は小さな個人ブログ プロジェクトを書くのに忙しくしています。 「グローバル検索」機能を実...
mysql は大文字と小文字を区別しないように設定されていますウィンドウズmysqlがインストールさ...
毎日jQueryプラグインを学ぶ - フローティングメニュー、参考までに、具体的な内容は次のとおりで...
<br />原文: http://blog.rexsong.com/?p=1166ウェブ...