March 2014 update

This commit is contained in:
Ingy döt Net 2014-04-02 16:56:35 +00:00
parent 09687c4926
commit a25938f123
1846 changed files with 21876 additions and 5203 deletions

View file

@ -0,0 +1,24 @@
BeadSort(data){
Pole:=[] , TempObj:=[], Result:=[]
for, i, v in data {
Row := i
loop, % v
MaxPole := MaxPole>A_Index?MaxPole:A_Index , Pole[A_Index, row] := 1
}
for i , obj in Pole {
TempVar:=0 , c := A_Index
for n, v in obj
TempVar += v
loop, % TempVar
TempObj[c, A_Index] := 1
}
loop, % Row {
TempVar:=0 , c := A_Index
Loop, % MaxPole
TempVar += TempObj[A_Index,c]
Result[c] := TempVar
}
return Result
}

View file

@ -0,0 +1,3 @@
for i, val in BeadSort([54,12,87,56,36])
res := val (res?",":"") res
MsgBox % res

View file

@ -1,14 +1,15 @@
(defn transpose [xs]
(loop [transposed [], remaining xs]
(if (empty? remaining)
transposed
(recur
(conj transposed (map #(first %) remaining))
(filter #(not-empty %) (map #(rest %) remaining)))) ))
(loop [ret [], remain xs]
(if (empty? remain)
ret
(recur (conj ret (map first remain))
(filter not-empty (map rest remain))))))
(defn bead-sort [xs]
(map #(reduce + %)
(transpose
(transpose (map #(replicate % 1) xs)))))
(->> xs
(map #(repeat 1 %))
transpose
transpose
(map #(reduce + %))))
(println (bead-sort [5 2 4 1 3 3 9]))
(-> [5 2 4 1 3 3 9] bead-sort println)