Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

C++

Priority-Queue Teil 1

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Dass eine Queue auch nach Prioritäten abgearbeitet werden kann, sehen Sie in diesem Film. Der Trainer zeigt Ihnen die Verwendung der "priority-queue".

Transkript

Ich zeige Ihnen jetzt eine priorisierte Warteschlange. Sowas ist immer interessant, wenn man eine Nachricht irgendwo abspeichern möchte, aber auch wichtige Nachrichten hat und die dann zuerst abholen möchte. Also klassischer Nachrichtendienst eigentlich im Prinzip. Sowas kommt auch beim Programmieren ja auch häufiger vor. Ich habe hier noch eine Klasse definiert mit einem int prio und und einem Text string. Das soll unsere Nachrichten-String nachher sein. Da macht es Sinn. Ich kann das auch ausgeben hier mit einer entsprechenden Methode. Und hier habe ich noch einen friend bool operator < definiert. Das brauche ich nachher, um den Vergleich zu definieren. Woher soll nachher die Warteschlange wissen, was hier in meiner Klasse zum Vergleich herangezogen wird, um die Prioritäten festzulegen. Hier ist dieser Integer. Und bei der Ausgabe habe ich hier nochmal eine Ausgabe einer Warteschlange, priority_queue heißt es, priority_queue, ein schwieriges Wort, <int &myqueue. Man kann natürlich einfach nur Integers abspeichern, die werden halt dann ganz normal sortiert. Und die gebe ich wieder aus. Mit myqueue.top komme ich hier an das Element dran, myqueue.pop holt das Element weg. Und dann kann es losgehen im Hauptprogramm. Hier mal ein paar Zahlen, die wir hier in die queue reinlegen, ganz unsortiert. Es spielt keine Rolle, in welcher Reihenfolge ich die hier in die queue reinschiebe. Die werden nach diesen Werten hier sortiert und dann hier entsprechend wieder ausgegeben. Nun habe ich meine Priority-Queue mit myclass. Das geht natürlich auch, indem ich jetzt auch meinen Vergleich verwende. Und hier lege ich ein paar Nachrichten ab, "nachrichten 1; 2; 3", "Weltneuheit", vielleicht mit einer hohen Priorität, weitere "nachrichten", die "super neue Nachricht", und das Ganze gebe ich hier entsprechend wieder aus. Und da können wir mal gucken, was dann anschließend drauf liegt. Wenn das Ganze leer ist, da ist da hier alles weg. Da könnten wir irgendwelche Werte noch reinlegen, wenn wir wollen. Aber, das nächste, was ich hier mache, ist, eine weitere Nachricht drauf zu nehmen: "nachrichten6", "Weltneuheit" und "recht wichtig". Und da schauen wir uns dann eben hier auch nochmal wieder an der nächsten Ausgabe. Und wir gucken uns mal, wie das Ganze jetzt insgesamt aussieht. Also, hier habe ich jetzt erst mal 3002, 1, 2 und so weiter schön drauf sortiert, dann gebe ich hier meine Weltneuheit und "super" krieg ich raus, Weltneuheit 2 kriege ich auch, und dann kommen unsere ganzen Nachrichten, die reingespeichert werden, ganz wunderbar hier in der ganauen Reihenfolge raus. Was nicht sortiert wird, ist natürlich die Nachricht hier, die den Wert 1 hat. Dazu müsste dann ein weiteres Sortierkriterium noch vorliegen. Die Warteschlange, die hier verwendet wird, die Priorisierung der Schlange, die sortiert also nicht mehr die Nachrichten in der Reihenfolge, in der sie reinkommen. Das kann also beliebig gemischt wieder rauskommen, es sei denn, man definiert dafür ein Sortierkriterum. Es wird nämlich das Kleiner verwendet, was wir da haben, und durch dieses Sortieren wird sozusagen die Reihenfolge hier zerstört, wenn man das nicht berücksichtigt. Also muss man bisschen aufpassen. Und Sie können sich das hier jetzt nochmal in Ruhe dann zu Gemüte führen, was wir da eigentlich gemacht haben, und hier ausgegeben, wie gesagt, wir haben erst mal nur ein Element ausgegeben, und noch ein Element ausgegeben und getrennt. Und dann haben wir 3 drauf getan, die restilichen Nachrichten ausgegeben. Nochmal zum schauen, das sind diese beiden superwichtigen Nachrichten, die ich mir gerade abgeholt habe, die sind natürlich dann verloren, und ich bekomme dann hier nur noch die restlichen Nachrichten in der Warteschlange.

C++

Machen Sie sich mit den einfachen Grundlagen zu C++ vertraut und lernen Sie anhand zahlreicher Übungs- und Codebeispiele die Klassenkonzepte, Prozeduren und Funktionen kennen.

9 Std. 3 min (143 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Video-Training auf DVD mit Bonusmagazin

+ Tutorial to go: Mit Videos für iPod, iPhone & Co.

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!