Diagramm Aktivität
-
[code="cpp"// Bubblesort fuer uebergebenes Feld "myArray" der Groesse "sizeOfArray"
void bubbleSort(int myArray[], int sizeOfArray)
{
// check, ob sortiert werden kann
if (sizeOfArray < 2)
{
cout << "FEHLER: nicht genuegend Elemente zum Sortieren";
cout << endl;
return;
}
// zwei Schleifen fuer das Sortieren
cout << "Feld in aufsteigender Reihenfolge sortieren" << endl;
for (int i = 0; i < sizeOfArray - 1; i++)
{
for (int j = i + 1; j < sizeOfArray; j++)
//Liste ausgeben
{
// der Tausch, falls benachbarte Werte
// in falscher Reihenfolge
if (myArray[i] > myArray[j])
{
//Tausche die beiden Werte
int temp = myArray[i];
myArray[i] = myArray[j];
myArray[j] = temp;
}
}
}
}
[/code]Erstellen Sie für den unten aufgeführten Bubblesort-Algorithmus ein UML-Aktivitätsdiagramm. Stellen Sie alle Anweisungen und Schleifen explizit dar. Benutzen Sie die bekannte UMLNotation.
Hier ein kleiner Ansatz.Wie soll ich jetzt die zwei for Schleifen darstellen?
https://www.pic-upload.de/view-34763977/Bildschirmfoto2018-01-28um12.37.04.png.html
-
Der Code wurde nicht richtig dargestellt .
Er sieht so aus// Bubblesort fuer uebergebenes Feld "myArray" der Groesse "sizeOfArray" void bubbleSort(int myArray[], int sizeOfArray) { // check, ob sortiert werden kann if (sizeOfArray < 2) { cout << "FEHLER: nicht genuegend Elemente zum Sortieren"; cout << endl; return; } // zwei Schleifen fuer das Sortieren cout << "Feld in aufsteigender Reihenfolge sortieren" << endl; for (int i = 0; i < sizeOfArray - 1; i++) { for (int j = i + 1; j < sizeOfArray; j++) //Liste ausgeben { // der Tausch, falls benachbarte Werte // in falscher Reihenfolge if (myArray[i] > myArray[j]) { //Tausche die beiden Werte int temp = myArray[i]; myArray[i] = myArray[j]; myArray[j] = temp; } } } }
-
Bei for Schleifen:
- Überprüfe Schleifen Bedingung
- Bedingung erfüllt -> Gehe in Schleifen Zweig, der am Ende wieder bei der Überprüfung raus kommt.
- Bedingung nicht erfüllt -> Gehe in Programmzweig normal weiter.Schleifen sind im Prinzip auch nichts anderes als Bedingungen, an denen der Programmfluss mehrfach vorbei kommt.