In diesem Artikelbeispiel wird der spezifische Code von Javascript zur Implementierung von Warteschlangen mit doppeltem Ende zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt 1. Doppelendige WarteschlangeEine Deque ist eine spezielle Warteschlange, die es uns ermöglicht, Elemente gleichzeitig zum Front- und Back-End hinzuzufügen und daraus zu entfernen. 2. Anwendung von doppelseitigen WarteschlangenWenn eine Person, die gerade ein Ticket gekauft hat, einige einfache Informationen benötigt, kann sie zum Anfang der Schlange zurückkehren. Wenn die Person am Ende der Schlange es eilig hat, kann sie die Schlange verlassen. 3. Methode der Warteschlange mit zwei Enden addFront(element): Diese Methode fügt ein neues Element an den Anfang der doppelseitigen Warteschlange ein. 4. UmsetzungKlasse Deque{ Konstruktor(){ diese.Artikel = {}; dies.Anzahl = 0; Dies.lowestCount = 0; } // Füge ein neues Element am Anfang der Warteschlange mit zwei Enden hinzu addFront(element){ wenn(dies.istEmpty()){ dies.addBack(element); } sonst wenn(this.lowestCount > 0){ dies.lowestCount --; diese.Elemente[diese.niedrigsteAnzahl] = Element; } anders{ für (lass i = this.count;i>0;i--) { diese.Artikel[i] = diese.Artikel[i-1]; } Dies.niedrigsterAnzahl = 0; diese.Elemente[diese.niedrigsteAnzahl] = Element; dies.zählen++; } }; addBack(element){ dies.zählen++; diese.Elemente[diese.Anzahl-1] = Element; }; entferneFront(){ wenn(dies.istEmpty()){ Rückgabe undefiniert; } const Ergebnis = this.items[this.lowestCount]; lösche this.items[this.lowestCount]; dies.lowestCount++; Ergebnis zurückgeben; }; entfernenZurück(){ wenn(dies.istEmpty()){ Rückgabe undefiniert; } const Ergebnis = diese.Elemente[diese.Anzahl-1]; lösche this.items[this.count-1]; dies.zählen--; Ergebnis zurückgeben; }; peekFront(){ wenn(dies.istEmpty()){ gibt null zurück; } gib diese.Elemente[diesen.niedrigstenAnzahl] zurück; }; peekBack(){ wenn(dies.istEmpty()){ gibt null zurück; } gib diese.Elemente[diese.Anzahl-1] zurück; }; istLeer(){ gibt diesen.Anzahl zurück - diesen.niedrigstenAnzahl == 0; } Größe(){ gib diesen.Anzahl - diesen.niedrigstenAnzahl zurück; } zuString(){ wenn(dies.istEmpty()){ zurückkehren ''; } let objString = `${this.items[this.lowestCount]}`; für(var i=this.lowestCount+1;i<this.count;i++){ objString = `${objString},${this.items[i]}`; } gibt objString zurück; } klar(){ diese.items={}; dies.Anzahl = 0; Dies.niedrigsterAnzahl = 0; } } const deque = new Deque(); deque.addFront('John'); deque.addFront('Jack'); deque.addFront('Amy'); deque.addBack('Lisa'); // deque.removeFront(); // deque.removeBack(); Konsole.log(deque.size()); Konsole.log(deque.toString()); Konsole.log(Deque); console.log(deque.isEmpty()); Konsole.log(deque.clear()); Konsole.log(Deque); Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Die am häufigsten verwendeten HTML-Tags zum Erstellen von Webseiten
>>: Verwenden Sie CSS, um zwischen dem Dunkelmodus und dem Hellmodus zu wechseln
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis Was ist React Fiber? Warum Rea...
①. So verwenden Sie den Alias-Eintrag (CNAME): Be...
Vorwort Bevor wir mit der Erklärung des Prinzips ...
Inhaltsverzeichnis So funktioniert es Betriebsabl...
Das Betriebssystem Win10 MySQL ist die 64-Bit-ZIP...
Inhaltsverzeichnis 1. Einleitung: 2. Vererbung de...
Manchmal erfordert die lokale Entwicklung das Deb...
Was ist eine Tabelle? Eine Tabelle ist eine HTML-...
Inhaltsverzeichnis Warum setState verwenden? Verw...
Konfiguration der Linux-Umgebungsvariablen Beim A...
Hintergrund PNG-Bilder benötigen mehr Speicherpla...
Implementierungsanforderungen Das ElementUI imiti...
1. Root-Passwort festlegen und ändern Überprüfen ...
Definition und Verwendung Mithilfe von @media-Abf...