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
transform:scale() lässt sich ein proportionales V...
Heute ist mir ein Problem aufgefallen: Der Inhalt ...
Laderegeln der Require-Methode Laden aus dem Cach...
Aufgrund Ihrer Unternehmensstandards gestatten Si...
Dieser Artikel stellt die von Webdesign-Meistern ...
Auslassungspunkte werden angezeigt, wenn mehrzeil...
Es besteht die Anforderung, den Schütteleffekt de...
Inhaltsverzeichnis 1. Verpackungsbefehl hinzufüge...
1. Laden Sie die MySQL-Repo-Quelle herunter $ wge...
Inhaltsverzeichnis Einleitung Nginx-Dockerdatei N...
Anforderungen: Die PC-Seite und die mobile Seite ...
Vorwort Aus beruflichen Gründen musste ich kürzli...
Dokumentumfang Dieser Artikel behandelt den Modus...
Inhaltsverzeichnis 1.setInterval() 2.setTimeout()...
Vorne geschrieben Wenn wir in unserem täglichen L...