Sortiere ein vorgegebenes Feld (10,6,3,5,1) per SelectionSort in einer Funktion.
/* Beispiel: Funktionen, Arrays und Sortieralgorithmen Filename: main.cpp Author: Lahmer Title: SelectionSort Description: Ein vorgegebenes Feld wird per SelectionSort (Suche nach Minimum) sortiert Last Change:19.01.2018 */ //Header-Dateien #include <iostream> //Namensraum using namespace std; //Funktionsdeklaration void Sortieren(int feld[], int size); //kein Rückgabewert, Übergabe: Feld, Größe des Feldes void ausgabe(int feld[], int size); //kein Rückgabewert, Übergabe: Feld, Größe des Feldes int main(int argc, char** argv) { int feld[5] = {10, 6, 3, 5, 1}; //Funktionsaufruf Sortieren(feld, 5); //Aufruf der Funktion Sortieren ausgabe(feld, 5); //Aufruf der Funktion ausgabe return 0; } //Funktionsdefinition void Sortieren(int feld[], int size){ int position=0, hzahl; //position=Position des Minimums, hzahl=Hilfszahl für Zahlentausch for(int j=0; j<size; j++) //Gehe von 0 bis 4 durch { position=j; //1. Position des sortierten Teiles des Arrays (1. Durchlauf 0, 2.Durchlauf = 1; 3. Durchlauf =2; ... =4) for(int i=j+1; i<size; i++) //Suche Minimum - beginne immer bei j+1 ; da ein Vergleich von feld[i]<feld[position] keinen Sinn macht, da sie im ersten Schritt auf dieselbe Zahl zeigen { if(feld[i]<feld[position]) //Schaue ob Feld[i] kleiner als das aktuelle Minimum ist { position=i; //Wenn ja, speichere die aktuelle Position i in position } } hzahl=feld[j]; //speichere die Zahl an Position j in die Hilfsvariable hzahl feld[j] = feld[position]; //speichere das Minimum an der Position position an die Position j feld[position] = hzahl; //speichere hzahl an die Position position } } //Funktionsdefinition void ausgabe(int feld[], int size) //Ausgabe des Feldes { for(int i=0; i<size;i++) { cout << feld[i] << endl; } }
1 3 5 6 10 -------------------------------- Process exited after 0.08686 seconds with return value 0 Drücken Sie eine beliebige Taste . . .