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!!!