Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Bubble Sort

Empfohlene Antworten

Veröffentlicht

Hallo,

mein Programm zieht sich ein paar Zufallszahlen und sotiert diese auch.

Wie ich kann ich nun die Anzahl der Durchgänge ausgeben ?

danke schonmal

# include <iostream.h>

# include <conio.h>

# include <stdio.h>

# include <math.h>


main()

{

int i,k,c,f,zahlenhaufen[10],zwischen;


/*Eingabe*/


randomize();

for (i=0;i<10;i++)

{

   zahlenhaufen[i]=random(500)+1     ;

}




/*Verarbeitung*/


for (k=1;k<10;k=k+1)

{

for (c=1;c<=(10-k);c=c+1)

{

if (zahlenhaufen[c] > zahlenhaufen[c+1])

{

zwischen = zahlenhaufen[c];

zahlenhaufen[c] = zahlenhaufen[c+1];

zahlenhaufen[c+1] = zwischen;

}

}

}


/*Ausgabe*/

for (f=1;f<10;f=f+1)

{

cout<<"\n"<<zahlenhaufen[f]<<"\n";

}

/*No comment*/

getch();

}

Anzahl der Vertauschungen .. .

hab in die IF Anweisung

tauschen=tauschen+1; ( voher deklariert )

und es dementsprechnend ausgegeben und es Funktioniert

danke für deine Antwort

Das ist richtig, es geht aber noch kürzer, und sieht nicht so aus wie BASIC ;)

++tauschen;

Frage am Rande:

Gibts Performanceunterschiede zwischen Pre- und Postinkrement?

Ich mach aus Gewohnheit eigentlich immer Postinkrement.

(Das der Zuweisungs-/Erhöhungsunterschied ist mir bekannt, dennoch würd's mich interessieren.)

Frage am Rande:

Gibts Performanceunterschiede zwischen Pre- und Postinkrement?

In diesem Fall vermutlich nicht.

Ich mach aus Gewohnheit eigentlich immer Postinkrement.

(Das der Zuweisungs-/Erhöhungsunterschied ist mir bekannt, dennoch würd's mich interessieren.)

Mach lieber Präinkrement, wenn's egal ist. Der besondere Nebeneffekt des Postinkrement (nämlich dass der ganze Ausdruck den "alten" Wert hat), kann Performance kosten, wenn es kein triviales Objekt ist, das inkrementiert wird.

So könnte man sich z.B. einen komplexen Iterator vorstellen: Präinkrement ist da ziemlich einfach umzusetzen, beim Postinkrement muss allerdings der Operator eine Kopie des Iterator-Objekts erstellen, damit er den "alten" Wert zurückgeben kann.

Wenn der Rückgabewert des Operators wie hier gar nicht verwendet wird, sollte ein moderner Compiler das optimieren können. Aber ich finde, man sollte sich gleich angewöhnen, die Variante zu benutzen, die in den wenigen Fällen, wo es dann doch drauf ankommt, die bessere ist. Postinkrement benutze ich nur dann, wenn ich den speziellen Seiteneffekt wirklich brauche.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.