000
11.10.2013, 16:52 Uhr
~gast43
Gast
|
Hallo,
es gab leider kein Unterforum für Ruby, da die Sprachen aber ähnlich sind habe ich das Thema hier gepostet, ich hoffe das geht in ordnung.
Ich habe diesen Quellcode aus Wikibooks. Es geht um den Quicksort Algorithmus. Ich will den Code eigentlich nur zum laufen bringen, indem ich die Klasse Quicksort instanziieren und die Methode sort!() ausführe. Ich kriege aber immer den fehler, dass er die Methoden nicht erkennt! Die Methode self.sort!() erkennt er nicht.
Was mache ich falsch?
Code: |
class QuickSort def self.sort!(keys) quick(keys,0,keys.size-1) end private def self.quick(keys, left, right) if left < right pivot = partition(keys, left, right) quick(keys, left, pivot-1) quick(keys, pivot+1, right) end keys end def self.partition(keys, left, right) x = keys[right] i = left-1 for j in left..right-1 if keys[j] <= x i += 1 keys[i], keys[j] = keys[j], keys[i] end end keys[i+1], keys[right] = keys[right], keys[i+1] i+1 end end
array = [1,3,5,2,9,6] sort = QuickSort.new() sort.sort!(array)
|
|