1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

QuickSort in C für NEWBIES..............

Discussion in 'Programmieren' started by BratHering, Apr 28, 2003.

Thread Status:
Not open for further replies.
  1. BratHering

    BratHering Megabyte

    hallo freunde.....

    bin grade dabei als C-n00b einen kleinenn QuickSort-Algorithmus zu programmieren....

    so weit bin ich gekommen (siehe unten)...die dickgeschriebenenen dinger sind meine ProblemZonen...

    ...ich bitte um hilfe und ratschläge

    -----------------------------------------------------------------------------------------
    //"http://olli.informatik.uni-oldenburg.de/fpsort/QuickAnimation.html"

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

    void Quicksort( int feld[], int li0, int r0);
    void swap(int feld[], int i, int m);
    <B>void sort(int feld[]);</B>
    void ausgabe(int feld[], int m);

    int main(int argc, char *argv[])
    {
    int feld[10], m;
    int li0, r0;

    if((argc &gt; 1) && (argc &lt; 3))
    {
    printf("D\'OH!\n");
    return 0;
    }

    if(argc &gt; 2)
    {
    for(m = 0; m &lt; (argc - 1); m++)
    {
    feld[m] = atoi(argv[m + 1]);
    }

    li0 = feld[0];
    r0 = feld[m];

    printf("m = %d\n", m);

    ausgabe(feld, m);
    <B>sort();</B>
    ausgabe(feld, m);
    }

    if(argc &lt; 2)
    {
    printf("qsort x y z etc. (max.10)\n");
    return 0;
    }

    return 0;
    }

    void Quicksort( int feld[], int li0, int r0)
    {
    int li = li0;
    int r = r0;
    int mitte;

    if (r0 &gt; li0)
    {
    mitte = feld[(r0+li0)/2];

    while(li &lt;= r)
    {
    while((li0 &lt; r0) && (li0 &lt; mitte))
    li++;

    while((r0&gt;li0) && (r0&gt;mitte))
    r--;

    if (li&lt;= r)
    {
    swap(feld,li,r);
    li++;
    r--;
    }
    }

    if (li0 &lt; r)
    Quicksort(feld, li0, r);

    if (li &lt; r0)
    Quicksort(feld, li, r0);
    }
    }

    void swap(int feld[], int i, int m)
    {
    int temp;
    temp=feld<I>;
    feld<I>=feld[m];
    feld[m]=temp;
    }
    <B>
    void sort(int feld[])
    {
    Quicksort(feld, li0, r0);
    }
    </B>
    void ausgabe(int feld[], int m)
    {
    int i;
    for(i=0; i &lt; m; i++)
    {
    printf("Feld[%d]: = ", i);
    printf("%d\n", feld<I>);
    }
    }
    -----------------------------------------------------------------------------------------

    MFG
    brathering
     
  2. BratHering

    BratHering Megabyte

    ok hat sich erledigt... :)

    mfg
    brathering
     
  3. BratHering

    BratHering Megabyte

    hier ist es etwas übersichtlicher:

    also das ist die datei....
    http://www.informatik.fh-wiesbaden.de/~mkwas001/LVs/info1/aufg4/aufg4.c

    und aus dieser java datei soll nun der algorithmus so wie er da steht in C übernommen werden...
    http://www.informatik.fh-wiesbaden.de/~mkwas001/LVs/info1/Aufgaben/QSortAlgorithm.java

    hilfe...bin keine leuchte beim programmieren.....

    mfg
    brathering
     
Thread Status:
Not open for further replies.

Share This Page