2017-01-24 2 views
1

Ich suchte ein bisschen herum und konnte keinen Sortieralgorithmus finden, der diese Art zum Sortieren beschreibt. Ich verstehe, dass es keinen wirklichen Nutzen hat, da es furchtbar ineffizient ist. Hier ist es in Ruby:Wie lautet der Name dieses Sortieralgorithmus?

def swap(array, i) 
    array[i], array[i+1] = array[i+1], array[i] 
end 

def compare(array, i) 
    array[i] > array[i+1] 
end 

def sort(array) 
    i = 0 
    until i + 1 == array.length 
    if compare(array, i) 
     swap(array, i) 
     i = 0 
    else 
     i += 1 
    end 
    end 
    return array 
end 
+1

'...? wahr: falsch 'saugt. Es gibt mir einen sehr schlechten Eindruck. – sawa

+1

'swap' lässt mich immer an bubble sort denken, aber ich bin nicht vielversprechend. –

+0

das ist eine wirklich langsame Insertion sort. Wenn Sie "i- = 1" nach dem Swap statt "i = 0" hätten, wäre das deutlicher. –

Antwort

1

Dies wird Gnome sort Art - von Anfang an zu Fuß bis um Verletzung auftritt, dann tauschen, aber hier Position setzt auf Array beginnen.

Verwandte Themen