March 2014 update
This commit is contained in:
parent
09687c4926
commit
a25938f123
1846 changed files with 21876 additions and 5203 deletions
|
|
@ -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
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
for i, val in BeadSort([54,12,87,56,36])
|
||||
res := val (res?",":"") res
|
||||
MsgBox % res
|
||||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue