Einführung
In diesem Lab lernst du, wie man eine ungeordnete Menge in der Programmiersprache C++ sortiert. Du wirst die grundlegenden Konzepte der ungeordneten Menge und deren Implementierung kennenlernen.
💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken
In diesem Lab lernst du, wie man eine ungeordnete Menge in der Programmiersprache C++ sortiert. Du wirst die grundlegenden Konzepte der ungeordneten Menge und deren Implementierung kennenlernen.
Um zu beginnen, öffne das Terminal und gib den folgenden Befehl ein, um in das Verzeichnis project
zu navigieren:
cd project
Erstelle nun in dem Verzeichnis project
eine neue Datei namens main.cpp
. In dieser Datei wird der Code zum Sortieren der ungeordneten Menge enthalten sein.
touch main.cpp
Kopiere und füge folgenden Code in die Datei main.cpp
ein.
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
bool cmp(int x, int y)
{
if (x > y)
return true;
else
return false;
}
// Funktion, um die Elemente der ungeordneten Menge mit einem Iterator auszugeben
void show(unordered_set<int> s)
{
// Deklarieren eines Iterators, um durch die ungeordnete Menge zu iterieren
unordered_set<int>::iterator i;
for (i = s.begin(); i!= s.end(); i++)
{
cout << *i << " "; // Zugreifen auf die Elemente der ungeordneten Menge mit *, da i die Adresse jedes Elements speichert
}
cout << endl;
}
int main()
{
cout << "\n\nWillkommen bei LabEx :-)\n\n\n";
cout << " ===== Programm zur Demonstration des Sortierens einer ungeordneten Menge in C++ ===== \n\n\n\n";
cout << " *** Die ungeordnete Menge entfernt automatisch doppelte Elemente und behält eine zufällige Anordnung bei. *** \n\n";
cout << " *** Diese zufällige Anordnung hängt von der intern verwendeten Hash-Funktion ab. *** \n\n";
cout << " *** Die ungeordnete Menge kann sortiert werden, indem ihre Elemente in einen Vektor kopiert werden. *** \n\n";
// Deklaration der ungeordneten Menge (ungeordnete Menge von ganzen Zahlen)
unordered_set<int> s;
// Befüllen der Elemente mit der insert()-Methode.
cout << "\n\nFüllen der ungeordneten Menge mit ganzen Zahlen in zufälliger Reihenfolge."; // Im Gegensatz zur Menge wird dies nicht automatisch sortiert
s.insert(5);
s.insert(39);
s.insert(64);
s.insert(82);
s.insert(35);
s.insert(54);
cout << "\n\nDie Elemente der ungeordneten Menge vor dem Sortieren sind: ";
show(s);
// Deklarieren eines Vektors und Initialisieren mit den Elementen der ungeordneten Menge
vector<int> v(s.begin(), s.end());
// Sortieren der Vektor-Elemente in absteigender Reihenfolge mit einem benutzerdefinierten Vergleichsfunktion
sort(v.begin(), v.end(), cmp);
cout << "\n\nDie Elemente der ungeordneten Menge nach dem Sortieren in absteigender Reihenfolge mit einer benutzerdefinierten Sortierfunktion sind: \n";
// Deklarieren eines Iterators, um durch den Vektor zu iterieren
vector<int>::iterator it;
for (it = v.begin(); it!= v.end(); it++)
{
cout << *it << " "; // Zugreifen auf die Elemente des Vektors mit *, da i die Adresse jedes Elements speichert
}
cout << "\n\n\n";
return 0;
}
Um das Programm zu kompilieren und eine ausführbare Datei zu erstellen, führe folgenden Befehl im Terminal aus:
g++ main.cpp -o main
Dieser Befehl wird eine ausführbare Datei namens main
erstellen.
Um den Code auszuführen, führe folgenden Befehl aus:
./main
Im Terminal sollten Sie die Ausgabe des Programms sehen.
Kopiere den Endcode in die Datei ~/project/main.cpp
:
// ~/project/main.cpp
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
bool cmp(int x, int y)
{
if (x > y)
return true;
else
return false;
}
// Funktion, um die Elemente der ungeordneten Menge mit einem Iterator auszugeben
void show(unordered_set<int> s)
{
// Deklarieren eines Iterators, um durch die ungeordnete Menge zu iterieren
unordered_set<int>::iterator i;
for (i = s.begin(); i!= s.end(); i++)
{
cout << *i << " "; // Zugreifen auf die Elemente der ungeordneten Menge mit *, da i die Adresse jedes Elements speichert
}
cout << endl;
}
int main()
{
cout << "\n\nWillkommen bei LabEx :-)\n\n\n";
cout << " ===== Programm zur Demonstration des Sortierens einer ungeordneten Menge in C++ ===== \n\n\n\n";
cout << " *** Die ungeordnete Menge entfernt automatisch doppelte Elemente und behält eine zufällige Anordnung bei. *** \n\n";
cout << " *** Diese zufällige Anordnung hängt von der intern verwendeten Hash-Funktion ab. *** \n\n";
cout << " *** Die ungeordnete Menge kann sortiert werden, indem ihre Elemente in einen Vektor kopiert werden. *** \n\n";
// Deklaration der ungeordneten Menge (ungeordnete Menge von ganzen Zahlen)
unordered_set<int> s;
// Befüllen der Elemente mit der insert()-Methode.
cout << "\n\nFüllen der ungeordneten Menge mit ganzen Zahlen in zufälliger Reihenfolge."; // Im Gegensatz zur Menge wird dies nicht automatisch sortiert
s.insert(5);
s.insert(39);
s.insert(64);
s.insert(82);
s.insert(35);
s.insert(54);
cout << "\n\nDie Elemente der ungeordneten Menge vor dem Sortieren sind: ";
show(s);
// Deklarieren eines Vektors und Initialisieren mit den Elementen der ungeordneten Menge
vector<int> v(s.begin(), s.end());
// Sortieren der Vektor-Elemente in absteigender Reihenfolge mit einem benutzerdefinierten Vergleichsfunktion
sort(v.begin(), v.end(), cmp);
cout << "\n\nDie Elemente der ungeordneten Menge nach dem Sortieren in absteigender Reihenfolge mit einer benutzerdefinierten Sortierfunktion sind: \n";
// Deklarieren eines Iterators, um durch den Vektor zu iterieren
vector<int>::iterator it;
for (it = v.begin(); it!= v.end(); it++)
{
cout << *it << " "; // Zugreifen auf die Elemente des Vektors mit *, da i die Adresse jedes Elements speichert
}
cout << "\n\n\n";
return 0;
}
In diesem Labor haben Sie gelernt, wie man eine ungeordnete Menge in der C++-Programmiersprache sortiert. Sie haben die grundlegenden Konzepte der ungeordneten Menge und deren Implementierung mit Hilfe von Vektoren und der STL sort
-Methode kennengelernt. Sie haben auch gelernt, wie man eine ungeordnete Menge deklariert und mit Elementen füllt.