ボゾソート(Bozo Sort)
今日は結局何も書けなかったのでボゾソート(ボゴソートの仲間)を適当に書いた。
#!/usr/bin/ruby1.9.1 # -*- coding: utf-8 -*- class Array def bozo_sort! defined? yield or return bozo_sort!{|a,b|a<=>b} until (1...size).inject(true){|s,i|s && yield(self[i-1],self[i])!=1} i, j = rand(size), rand(size) self[i], self[j] = self[j], self[i] end return self end def bozo_sort return dup.bozo_sort! end end a = [4,2,3,5,7,4,6,5,2] a.bozo_sort! p a