Quicksort Wörter sortieren?
-
Hallo liebe C++ Freunde,
ich habe folgendes problem, ich möchte wörter sotieren die in die konsole eingegeben werden. ich hab mich schon bei google informiert welche sortierfunktion am besten ist und bin letztendlich auf quicksort gestoßen. vielleicht könnt mir jemand die funktion "quicksort" posten, wäre echt nett seh nicht ganz bei der sache durch

hier mein code, bis jetzt
int Hauptprogramm() { char ein[50] [10]; int werte; int n=0; printf("Anzahl Elemente?\n"); printf("beachte >50 Elemente zu je 10 Zeichen:\n"); scanf("%i",&werte); do { printf("Gib hier deine Zeichenkette ein: n= %s\n", n+1); gets(ein[n]); n++; }while( n<werte ); quicksort(???); printf("Anzahl Werte: %i\n",werte); for( n=0;n<werte;n++ ) { printf("Zeichenkette: %i\n",ein[n]); } return 0; } quicksort(???) { }vielleicht findet ihr ja noch kleinere fehler? würde mich riesig freuen von euch zu hören,
liebe grüße und recht vielen danktommy

//Edit: Codetags hinzugefügt ( evilissimo )
-
Wenn du schon soweit gekommen bist, wirst du doch sicher auch etwas Pseudocode finden, den du umarbeiten kannst.
(ansonsten nimm einfach die sort()-Funktion aus der STL)
PS: Dein Programm sieht übrigens eher nach C aus als nach C++

-
danke Cstoll für die rasche antwort,
aber ich weiß echt nicht bescheit wie das mit QUICKSORT zu realisieren ist, kann st du mir nicht dabei behilflich sein??? ich mein du sagtest ich bin schon recht weit...

kannst du die funktion ,speziell für mein prog, nicht posten???würde mich sehr freuen
liebe grüße
tommy

-
Hab mir nochmal nen kopf gemacht, mein prog sieht jetzt so aus:
#include <stdio.h> #include <string.h> int quicksort(char ein,int werte); int Hauptprogramm() { char ein[50] [10]; int werte; int n=0; printf("Anzahl Elemente?\n"); printf("beachte >50 Elemente zu je 10 Zeichen:\n"); scanf("%i",&werte); do { printf("Geb hier deine Zeichenkette ein: n= %s\n", n+1); gets(ein[n]); n++; }while( n<werte ); quicksort(ein,werte); printf("Anzahl Werte: %i\n",werte); for( n=0;n<werte;n++ ) { printf("Zeichenkette: %i\n",ein[n]); } return 0; } int quicksort(ein,werte) { register int i,j; char x,y; i=left; j=right; x=items[(left+right)/2]; do { while( (items[i] <x) && (i<right) ) { i++; } while( x<items[j]) && (j>left) ) { j--; if( i<j ) { y=items[i]; items[i]=items[j]; items[j]=y; i++; j--; } } }while( i<j ); if( left<j ) { quicksort(items,left,j); } if( i<(right-1) ) { quicksort(items,i,right); } return 0;kannst du oder jemand anderes mir sagen wie ich diese fehler weg bekomme???
liebe grüße und vielen herzlichen dank
tommy
//Edit: Codetags hinzugefügt. Immer dran denken selbst Codetags hinzuzufügen (evilissimo)
-
Nein, kann ich nicht - aber wenn du einen vernünftigen Compiler hast, findest du sie im Header <algorithm>.