Einführung
In diesem Lab werden wir lernen, einen Algorithmus in C++ zu schreiben, um die Bubblesort-Technik umzusetzen. Bubblesort ist eine der beliebtesten und einfachsten Sortierverfahren, bei dem wir zwei benachbarte Elemente in einem Array vergleichen und ihre Positionen tauschen, wenn sie nicht richtig angeordnet sind.
Definiere die erforderlichen Variablen und Header-Dateien
Wir werden eine neue Datei namens main.cpp im Verzeichnis ~/project mit dem folgenden Befehl erstellen:
touch ~/project/main.cpp
Wir beginnen zunächst mit der Deklaration der Variablen und der Header-Dateien, die das Programm benötigt. In diesem Schritt werden wir die Header-Datei iostream einbinden und den Namensraum std definieren.
#include<iostream>
using namespace std;
Definiere eine Funktion zum Implementieren des allgemeinen Bubblesort-Algorithmus
Hier werden wir in einem C++-Programm eine Funktion "bubble_sort" deklarieren, die das zu sortierende Array und die Größe des Arrays akzeptiert. Die Funktion wird die Implementierung der Bubblesort-Technik mit Hilfe von for-Schleifen, Tauschvorgängen und if/else-Anweisungen enthalten.
int bubble_sort(int n,int array[]){
int temp;
for(int i=0;i<n-1;i++){
for(int j=0;j<n-i-1;j--){
if(array[j]>array[j+1]){
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
return 0;
}
Definiere eine Funktion zum Implementieren des optimierten Bubblesort-Algorithmus
Beim optimierten Bubblesort überprüfen wir in jeder Iteration, ob Elemente getauscht wurden oder nicht. Wenn in der letzten Iteration keine Tauschvorgänge stattfanden, bedeutet dies, dass das Array sortiert ist. In diesem Schritt implementieren wir die Funktion "bubble_sort", um einen optimierten Bubblesort-Algorithmus umzusetzen. Die Funktion akzeptiert das zu sortierende Array und die Größe des Arrays.
int bubble_sort(int n,int array[]){
int temp, flag;
for(int i=0;i<n-1;i++){
flag = 0;
for(int j=0;j<n-i-1;j++){
if(array[j]>array[j+1]){
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
flag=1;
}
}
if(flag==0){
break;
}
}
return 0;
}
Definiere die Hauptfunktion
Hier werden wir die Hauptfunktion definieren, in der wir das zu sortierende Array und seine Größe deklarieren. In diesem Schritt rufen wir auch die Funktion "bubble_sort" auf, um das Array aufsteigend zu sortieren.
int main(){
int arr[]={5,6,9,2,3};
int n = sizeof(arr)/(sizeof(arr[0]));
bubble_sort(n,arr);
cout<<"Elements after sorting of the array:- "<<endl;
for(int i=0;i<n;i++){
cout<<arr[i]<<" ";
}
return 0;
}
Kompiliere und führe den Code aus
In diesem Schritt werden wir den Code im Terminal des Ubuntu-Systems kompilieren und ausführen. Um den Code zu kompilieren, geben Sie den folgenden Befehl ein:
g++ ~/project/main.cpp -o main
Um den Code auszuführen, geben Sie den folgenden Befehl ein:
./main
Zusammenfassung
In diesem Lab haben wir erfolgreich gelernt, den Bubblesort mit einem dynamischen Array in C++ zu implementieren. Wir haben auch über eine optimierte Bubblesort-Technik gelernt, die effektiv für einige ausgewählte, aber effiziente Arrays funktioniert. Indem Sie den obigen Tutorial folgen, können Sie die Bubblesort-Technik implementieren, um ein Array aufsteigend oder absteigend zu sortieren, indem Sie ein dynamisches Array in C++ verwenden.



