====== Bjørn ====== //<>// 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: //<>// //<>// **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]); 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])