C Counter in Bubble Sort?

1 Antwort

"Es geht nicht" ist keine hilfreiche Beschreibung des Problems.

Leider hast du den Code als Screenshot gepostet, so dass man die notwendigen Ä'nderungen nicht einfach per Copy&Paste vorschlagen kann.

Der Punkt "Abfragen von Counter" befindet sich nach der der "for j" Schleife. In deinem Code ist er aber innerhalb.

LukasHaderer 
Fragesteller
 11.05.2021, 12:23

Danke für die Hilfe, das Thema ist bei uns noch relativ neu...

0
LukasHaderer 
Fragesteller
 11.05.2021, 12:55

Ich habe jetzt noch kurz rumprobiert, leider ist es noch immer nicht ganz richtig. Hier der Code:
void bubbleSort(int array[], int size2)

{

    int i;

    int j;

    int counter = 0;

    int temp;

    for(i = 0; i < size2 - 1; i++)

    {

        for(j = 0; j < size2 - 1 - i; j++)

        {

            counter = 0;

            if(array[j] > array[j + 1])

            {

                temp = array[j];

                array[j] = array[j + 1];

                array[j + 1] = temp;

                counter++;

            }

        }

        if(counter == 0)

        {

            return;

        }

    }

}

z.B. hier:

100

100

102

85

81

115

0

100 100 85 81 102 115

Der Median betraegt: 81

0
mjutu  11.05.2021, 13:31
@LukasHaderer

Bitte erkläre was "nicht ganz richtig" bedeutet. Du hast diese wichtige Information bereits, dann ist es hilfreich, sie an die zu verraten, die dir helfen möchten.

Du setzt den counter auf 0 innerhalb der Schleife. Du möchtest aber die Anzahl der Tausch-operationen über die Schleife wissen.

1
LukasHaderer 
Fragesteller
 11.05.2021, 13:59
@mjutu

Ich habe den Fehler selber jetzt auch bemerkt und umgeändert. Danke trotzdem für die Hilfe..

0