kisa
Diskussionsleiter
Profil anzeigen
Private Nachricht
Link kopieren
Lesezeichen setzen
dabei seit 2005
Profil anzeigen
Private Nachricht
Link kopieren
Lesezeichen setzen
Mergesort Processing
19.04.2010 um 13:24Hallo liebe Allmy Gemeinde, ich versuche hier grade ein Anschauliches Beispiel zum Verständnis in Processing zu erstellen.
Ich möchte den Namen Caroline im Programm Processing nach den Mergesort Algorithmus sortieren.
Habe bis jetzt nur folgendes gefunden:
void mergesort(int a[], int l, int r){ //l=linker Rand, r=rechter Rand
if(r>l){
int i, j, k, m; //Variablen deklarieren
m=(r+l)/2; //Mitte ermitteln
mergesort(a, l, m); //linke Teildatei
mergesort(a, m+1, r); //rechte Teildatei
for(i=m+1; i>l; i--) b[i-1]=a[i-1]; //linke Teildatei in Hilfsarray
for(j=m; j<r; j++) b[r+m-j]=a[j+1]; //rechte Teildatei umgedreht in Hilfsarray
for(k=l; k<=r; k++)
a[k]=(b<b[j])?b[i++]:b[j--]; //füge sortiert in a ein
}
}
Jetzt weiß ich aber nicht wo ich was einfügen soll. Da ich keine Ahnung habe wie dieses Programm funktioniert.
Bitte um Hilfe, da es mich wirklich interessiert.
Ich möchte den Namen Caroline im Programm Processing nach den Mergesort Algorithmus sortieren.
Habe bis jetzt nur folgendes gefunden:
void mergesort(int a[], int l, int r){ //l=linker Rand, r=rechter Rand
if(r>l){
int i, j, k, m; //Variablen deklarieren
m=(r+l)/2; //Mitte ermitteln
mergesort(a, l, m); //linke Teildatei
mergesort(a, m+1, r); //rechte Teildatei
for(i=m+1; i>l; i--) b[i-1]=a[i-1]; //linke Teildatei in Hilfsarray
for(j=m; j<r; j++) b[r+m-j]=a[j+1]; //rechte Teildatei umgedreht in Hilfsarray
for(k=l; k<=r; k++)
a[k]=(b<b[j])?b[i++]:b[j--]; //füge sortiert in a ein
}
}
Jetzt weiß ich aber nicht wo ich was einfügen soll. Da ich keine Ahnung habe wie dieses Programm funktioniert.
Bitte um Hilfe, da es mich wirklich interessiert.