C: Bubblesort

Diskussionen zu Tutorials, Änderungs- und Erweiterungswünsche
nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

C: Bubblesort

Beitrag von nufan » Mo Sep 15, 2008 5:46 pm

So, hier ist schließlich der Thread zu Bubblesort.

Lg

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: C: Bubblesort

Beitrag von Xin » Mo Sep 15, 2008 11:20 pm

Mit Link sogar leichter zu finden: :->

http://tutorial.proggen.org/doku.php?id=c:bubblesort

Code: Alles auswählen

void Bubblesort (int feld [ANZ])
Höh?

Code: Alles auswählen

    for (i=0; i<(ANZ-1); i++)    // ANZ-1, da auf feld [i+1] geprüft wird. Läuft die Schleife bis ANZ, 
ANZ-1 wird laufend neu ausgerechnet, obwohl es es konstant ist. Ist das gut?
Oder was ist eigentlich ANZ?

Code: Alles auswählen

      if (feld [i]>feld [i+1])
Die Schreibweise gefällt mir nicht: Die eckigen Klammern sollten an der Variable sein, die Operatoren sollten abgetrennt sein:

Code: Alles auswählen

      if( feld[ i ] > feld[ i + 1 ] )
Das gilt ebenso für die nachfolgenden Zeilen.

Warum formatierst Du so?

Code: Alles auswählen

  }while (geordnet==0);            // Schleife läuft, bis das Feld geordnet ist.
Hier würde ich nicht auf 0 vergleichen, sondern das ausformulieren, wie man es denken würde:

Code: Alles auswählen

  }while( !geordnet );            // Schleife läuft, solange Feld nicht geordnet
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: C: Bubblesort

Beitrag von nufan » Di Sep 16, 2008 6:19 pm

Xin hat geschrieben:Höh?
Das Feld wird aus einem (Haupt-)Programm übergeben.
Xin hat geschrieben:Oder was ist eigentlich ANZ?
Die Anzahl der Feldelemente. Da hätt ich besser das define reinschreiben sollen...

Lg

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: C: Bubblesort

Beitrag von Xin » Di Sep 16, 2008 8:14 pm

dani93 hat geschrieben:
Xin hat geschrieben:Höh?
Das Feld wird aus einem (Haupt-)Programm übergeben.
Kompiliert das?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: C: Bubblesort

Beitrag von nufan » Di Sep 16, 2008 9:16 pm

Xin hat geschrieben:Kompiliert das?
Ich dachte es reicht, wenn nur der Algorithmus drin steht? Zuvor hatte ich das ganze Prog mit main, Eingabe, usw...

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: C: Bubblesort

Beitrag von Xin » Di Sep 16, 2008 10:30 pm

dani93 hat geschrieben:
Xin hat geschrieben:Kompiliert das?
Ich dachte es reicht, wenn nur der Algorithmus drin steht? Zuvor hatte ich das ganze Prog mit main, Eingabe, usw...
Es ist etwas ungewöhnlich ein Array zu übergeben... gehen müsste es eigentlich, aber ich weiß nicht, ob's jeder Compiler frisst. Daher die Frage.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: C: Bubblesort

Beitrag von nufan » Di Sep 16, 2008 10:34 pm

Xin hat geschrieben:Es ist etwas ungewöhnlich ein Array zu übergeben... gehen müsste es eigentlich, aber ich weiß nicht, ob's jeder Compiler frisst. Daher die Frage.
Wie denn sonst? Pointer?

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: C: Bubblesort

Beitrag von fat-lobyte » Mi Sep 17, 2008 8:36 am

Xin hat geschrieben:
dani93 hat geschrieben:
Xin hat geschrieben:Kompiliert das?
Ich dachte es reicht, wenn nur der Algorithmus drin steht? Zuvor hatte ich das ganze Prog mit main, Eingabe, usw...
Es ist etwas ungewöhnlich ein Array zu übergeben... gehen müsste es eigentlich, aber ich weiß nicht, ob's jeder Compiler frisst. Daher die Frage.
Ungewöhnlich? Also wie ich das sehe sollte man so oft wie möglich das Array[] verwenden statt einem Zeiger. Bei den meisten Compilern gibts zusätzliche überprüfungen und Warnungen im Vergleich zu einem einfachen Zeiger.
Außerdem ist es dann klarer, dass ein Array übergeben wird.
Haters gonna hate, potatoes gonna potate.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: C: Bubblesort

Beitrag von Xin » Mi Sep 17, 2008 11:24 am

fat-lobyte hat geschrieben:Ungewöhnlich? Also wie ich das sehe sollte man so oft wie möglich das Array[] verwenden statt einem Zeiger. Bei den meisten Compilern gibts zusätzliche überprüfungen und Warnungen im Vergleich zu einem einfachen Zeiger.
Außerdem ist es dann klarer, dass ein Array übergeben wird.
int [] ist gleichbedeutend mit int *.

Er übergibt int[ ANZ ], also einen großen Datenblock. Ungewöhnlich.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: C: Bubblesort

Beitrag von Dirty Oerti » Mi Sep 17, 2008 12:49 pm

Die Übergabe per ANZ ist zwar nicht unbedingt die schönste/normalste/etc...

Gut daran finde ich aber, dass sich der Leser beim Beispiel nicht mit zusätzlichen Themen "herumschlagen" muss.

Eine Anmerkung, dass man das eigntl anders macht, wäre aber doch sehr gut.

Wobei die Frage ist, ob man nicht ein gewisses Grundwissen in einem Artikel über Bubblesort verlangen kann...
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne! :)
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.

Antworten