002
18.10.2003, 09:07 Uhr
Spengergassler
|
MEIN Ansatz sieht wie folgt aus:
C++: |
#include<stdio.h> #include<conio.h> void part(int[],int,int,int&); void quick_s(int[],int); void wechsel(int&,int&); int main() { printf("\n\n\t\t\t\tQuicksort\n\n\n"); int zk[]={4,2,3,4,4,8,6,1,3,8,2}; printf("Ungeordnet:\n"); for(int p=0; p<11; p++){ printf(" %d",zk[p]); } quick_s(zk,11); printf("\n\nGeordnet:\n"); for(p=0;p<11;p++){ printf(" %d",zk[p]); } getch(); return 0; } void quick_s(int a[],int n) { int ende; if(n<=1) return; part(a,n,n/2,ende); quick_s(a,ende); quick_s(&a[ende+1],n-ende-1); } void part(int a[],int n,int p,int&ende) { wechsel(a[0],a[p]); ende=0; for(int i=1;i<n;i++) if(a[i]<a[0]) { ende++; wechsel(a[i],a[ende]); } wechsel(a[0],a[ende]); } void wechsel(int&a,int&b) { int h; h=b; b=a; a=h; }
|
Und noch einmal um etwas klar zu stellen. Ich bin nicht zu faul dazu (sont hättte ich das oben stehende wohl kaum rausgefunden), jedoch habe ich zuvor noch nichts von Quicksort gehört! Da ich es aber in kürzester zeit selbst schreiben muss, wollte ich lediglich das ihr mich aufklährt, nach welchem Verfahren das vor sich geht. Da ich das nun in etwa weiß, hab ich jedoch große Probleme um es für char zeichenketten kompatibel zu machen!
Ich arbeite gerade daran, jedoch würdet es mir wirklich sehr weiterhelfen, wenn ihr mir einen kleinen hilfetipp geben könntet, da ich echt nicht weiß wie ich es machen soll, dass ich zeichenketten sortiern kann!
Danke, LG
edit by FloSoft: [ cpp ]-Tags eingefügt Dieser Post wurde am 18.10.2003 um 09:27 Uhr von FloSoft editiert. |