Quellcode Quicksort



  • Hier ist der Quellcode von Bubble-Sort. Aber wie schreibe ich dazu den Quellcode von Quicksort?

    for (x=0; x < MAX-1; x=x+1)
    for (y=0; y < MAX-x-1; y=y+1)
    if (a[y] > a[y+1])
    {
    t=a[y];
    a[y]=a[y+1];
    a[y+1]=t;
    }

    printf("\n\nHier sind die Zahlen in sortierter Reihenfolge!\n");
    printf("\n\n");
    for (i=0; i < MAX; i=i+1)
    printf("%d\n",a[i]);



  • Hab hier ein schönes Beispiel für den Quicksort :

    #include <stdio.h>
    #include <stdlib.h>

    int feld[10];
    int n;

    int quicksort(int low, int high)
    {
    int h;
    int i=low;
    int j=high;
    int x=feld[(low+high)/2];

    do
    {
    while(feld[i]<x)i++;
    while(feld[j]>x)j--;
    if(i<=j)
    {
    h=feld[i];
    feld[i]=feld[j];
    feld[j]=h;
    i++;j--;
    }
    }while(i<=j);

    if(low<j) quicksort(low,j);
    if(i<high)quicksort(i,high);

    }

    int main(int argc,char *argv[])
    {
    // Zufallsgenerator initialisieren
    srand((unsigned) time(NULL));

    // Felder mit Zufallszahlen belegen
    for(n=0;n<=9;n++)
    feld[n]=1+rand()%100;

    // Ausgabe der unsortierten Zahlen
    for(n=0;n<=9;n++)
    printf("%d ",feld[n]);

    // Sortieren
    quicksort(0,9);
    printf("\n");

    // Ausgabe der sortierten Zahlen
    for(n=0;n<=9;n++)
    printf("%d ",feld[n]);

    scanf("%i",&n);
    return(0);
    }



  • Vielen Dank!!!



  • Vielen Dank!!!


Anmelden zum Antworten