Beiträge von sulsn

    Dank für die Antwort!!
    :verycool: , habe ich jetzt ein "quicksort Alg" wie folgend:

    quickSort(a[] ↓m ↓n) {
    if (m==n) { return }
    if (a[m]>a[n]) { a[m] <=> a[n] }
    if (m+1==n) { return }
    k = (m+n) / 2
    if (a[m]>a[k]) {a[m] <=> a[k] }
    if (a[k]>a[n]){a[k] <=> a[n] }
    if (m+2==n) { return }
    x = a[k] // Pivot-Element
    i = m+1; j = n-1
    while (i<=j) {
    while (i<n && a[i]<=x) {
    i = i+1
    while (j>m && a[j]<=x) {
    j = j-1
    }
    if (i<j) {
    a[i] <=> a[j]
    i=i+1;j=j-1
    }
    }//while
    quickSort(a[] ↓m ↓j)
    quickSort(a[] ↓i ↓n)
    }//quickSort

    wie kann den durch IsBefore(x,y)?
    kannst du bitte für mich den formulieren.....
    dank.

    Formuliere den quicksort algorithmus so, dass anstelle der Vergleichsoperatoren eine Vergleichsfunktion verwendet wird, um die Sortierung nach beliebigen Kriterien zu ermöglichen. Verwenden Sie dazu eine Funktion boolean Isbefore (x y), die true zurückliefert, falls der Wert x in der Sortierreihenfolge vor dem Wert y steht (entspricht dem < Operatror im Fall einer aufsteigenden Sortierung; fuer x=y ist das Ergebnis false)..
    kann jemand bitte mir hilfen???
    Dank....