Du befindest dich hier: FSI Informatik » user » Bjørn   (Übersicht)

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
user:bjoern [20.10.2006 11:24] – angelegt Bjoernuser:bjoern [20.10.2006 14:16] (aktuell) Bjoern
Zeile 1: Zeile 1:
 ====== Bjørn ====== ====== Bjørn ======
  
-**Studienfächer:**+//<<Ein gutes Gedächtnis merkt sich nicht alles, sondern vergisst das Unwichtige.>>// Peter Bamm 
 + 
 + 
 + 
 +**__Studienfächer:__**
   * Künstliche Intelligenz   * Künstliche Intelligenz
   * Programmiersprachen   * Programmiersprachen
   * Kommunikationssysteme   * 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:**
 +<code 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);
 + }
 +</code>
 +
 +**Prolog:**
 +<code 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).
 +</code>
  
 +**Haskell:**
 +<code C>
 +quicksort([]) = []
 +quicksort(a:x) = quicksort([b | b <- x, b<=]) ++ [a] ++ quicksort([b | b<-x, b>a])
 +</code>