Du befindest dich hier: FSI Informatik » user » Bjørn (Übersicht)
Bjørn
«Ein gutes Gedächtnis merkt sich nicht alles, sondern vergisst das Unwichtige.» Peter Bamm
Studienfächer:
- Künstliche Intelligenz
- Programmiersprachen
- Kommunikationssysteme
- Astronomie
Programmiersprachen
Hier ein kleiner Vergleich von Quicksort in zwei Sprachen. Hierzu belauschen wir einen Dialog zwischen Einstein und Paul Valéry:
«Alles sollte so einfach wie möglich gemacht werden, aber nicht einfacher. »
«Was einfach ist, ist immer falsch. Was nicht einfach ist, ist unbrauchbar.»
C:
void quicksort(int a[], int l, int r){ if(r>l){ int i=l-1, j=r, tmp; for(;;){ while(a[++i]<a[r]); while(a[--j]>a[r]); if(i>=j) break; tmp=a[i]; a[i]=a[j]; a[j]=tmp; } tmp=a[i]; a[i]=a[r]; a[r]=tmp; quicksort(a, l, i-1); quicksort(a, i+1, r); }
Prolog:
quicksort([], []). quicksort([E | Ls], Return) :- (bagof(BagA, (member(BagA, Ls), BagA < E), As); As = []), (bagof(BagB, (member(BagB, Ls), BagB > E), Bs) ; Bs = []), quicksort(As, L), quicksort(Bs, R), flatten([L, E, R], Return).
Haskell:
quicksort([]) = [] quicksort(a:x) = quicksort([b | b <- x, b<=]) ++ [a] ++ quicksort([b | b<-x, b>a])