1. Warteschlangen verstehen Im vorherigen Blog ging es um die eingeschränkte Datenstruktur – den Stapel. Werfen wir nun einen Blick auf die
Das Strukturdiagramm kann wie folgt ausgedrückt werden:
2. KapselungswarteschlangeDie Warteschlangenstruktur wird ebenfalls in einem Array-Format implementiert. Erstellen Sie zunächst eine Klasse. Funktion Warteschlange(){ } Fügen Sie darin Eigenschaften und Methoden hinzu und fügen Sie das Array über die Eigenschaftsmethoden der Klasse hinzu. Verwenden Sie dann die Prototypmethode, um häufig verwendete Operationen hinzuzufügen. Allgemeine Vorgänge für Warteschlangen sind:
Jetzt implementieren wir es: Funktion Warteschlange(){ diese.Artikel = []; //Füge ein (oder mehrere) neue Elemente am Ende der Warteschlange hinzu enqueue() Queue.prototype.enqueue = Funktion(Element){ dies.items.push(element); } //Entferne das erste Element in der Warteschlange (also das vorderste Element in der Warteschlange) dequeue() Warteschlange.prototype.dequeue = Funktion(){ gibt this.items.shift() zurück; } //Gibt das erste Element in der Warteschlange zurück front() Warteschlange.prototype.front = Funktion() { gib diese Elemente zurück[0]; } //Überprüfen, ob der Stapel leer ist isEmpty() Queue.prototype.isEmpty = Funktion(){ gibt diese.Elemente.Länge zurück == 0; } //Gibt die Anzahl der in der Warteschlange enthaltenen Elemente zurück size() Warteschlange.Prototyp.Größe = Funktion(){ gib diese.Elemente.Länge zurück; } //Konvertiere den Inhalt der Warteschlange in eine Zeichenfolge toString() Queue.prototype.toString = Funktion(){ var str = ''; für(var i =0;i<this.items.length;i++){ str += diese.Elemente[i] + ' '; } gibt str zurück; } } Oben sehen Sie die Kapselung der Warteschlange. Überprüfen Sie sie nun: var Warteschlange = neue Warteschlange(); Warteschlange.Warteschlange(10); Warteschlange.Warteschlange(20); Warteschlange.Warteschlange(30); Warteschlange.Warteschlange(40); Warteschlange.Warteschlange(50); konsole.log(Warteschlange); console.log('Das erste entfernte Element ist: ' + queue.dequeue()); console.log('Das erste Element in der Warteschlange ist: ' + queue.front()); console.log('Ist der Stapel leer: '+queue.isEmpty()); console.log('Der Inhalt der Stapelstruktur ist:'); Konsole.log(Warteschlange.toString()); Die Ausgabe ist: Aufbau erfolgreich. Schauen wir uns einen Fall an, bei dem das Päckchen unter Trommelschlag herumgereicht wird! 3. Der Fall der Blumenweitergabe durch TrommelnUrsprüngliche Spielregeln:
Ändern Sie die Spielregeln:
Kapseln Sie eine warteschlangenbasierte Funktion:
Der Code lautet wie folgt: // Warteschlangenfunktion Queue(){ einkapseln diese.Artikel = []; //Elemente am Ende hinzufügen Queue.prototype.enqueue = function(element){ dies.items.push(element); } //Entferne das erste Element Queue.prototype.dequeue = function(){ gibt this.items.shift() zurück; } //Gib das erste Element zurück Queue.prototype.front = function(){ gib diese Elemente zurück[0]; } //Gibt die Anzahl der in der Warteschlange enthaltenen Elemente zurück Queue.prototype.size = function(){ gib diese.Elemente.Länge zurück; } } Funktion passGame(Namensliste,Anzahl){ //Eine Warteschlange erstellen var queue = new Queue(); //Alle Personen zur Warteschlange hinzufügen for(var i = 0;i<nameList.length;i++){ Warteschlange.Warteschlange einreihen(Namensliste[i]); } //Spielen Sie das Spiel, während (queue.size() > 1) { //Die Personen vor num werden am Ende der Warteschlange hinzugefügt for(var i =1;i<num;i++){ Warteschlange.in die Warteschlange stellen(Warteschlange.aus der Warteschlange entfernen()); } //Personen mit Num-Nummern werden direkt aus der Warteschlange entfernt.dequeue(); } //Gewinnerinformationen abrufen var endName = queue.front(); console.log('Die verbleibenden Personen sind:' + endName); gibt nameList.indexOf(endName) zurück; } //Testvar nameList = ['a','b','c','d','e']; var g = passSpiel(Namensliste,5); console.log('Der Standort dieser Person ist: '+g); Die Ausgabe ist: Dies ist das Ende dieses Artikels über den Prozess der Implementierung einer Warteschlangenstruktur in JavaScript. Weitere relevante Inhalte zur Implementierung einer Warteschlangenstruktur in JavaScript finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
>>: Einführung in die grundlegenden Konzepte und Technologien der Webentwicklung
Ob der a-Tag eine neue Seite öffnet: (1) Baidu Enc...
Warum? Am einfachsten lässt es sich so ausdrücken:...
Grafisches Tutorial zur Installation und Konfigur...
Verwendung von neuen Die Funktion von new besteht...
In diesem Artikel wird anhand eines Beispiels bes...
Bereitstellungsumgebung: Hier wird ein Docker-Con...
<br />Verwandte Artikel: 9 praktische Vorsch...
Installieren Sie Grafana. Die offizielle Website ...
Warum brauchen wir ein Berechtigungsmanagement? 1...
Die Layui-Tabelle enthält mehrere Datenzeilen. Üb...
mycli MyCLI ist eine Befehlszeilenschnittstelle f...
Vorwort Ab MySQL 5.7.11 unterstützt MySQL die Dat...
Die Methode zum Umbrechen des Inhalts (Titelattrib...
In Bezug auf die Verbindungsmethode zwischen Java...
Ein Meister sagte einmal, man müsse die Datenbank...