Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,18 @@
|
|||
siftDown[list_,root_,theEnd_]:=
|
||||
While[(root*2) <= theEnd,
|
||||
child = root*2;
|
||||
If[(child+1 <= theEnd)&&(list[[child]] < list[[child+1]]), child++;];
|
||||
If[list[[root]] < list[[child]],
|
||||
list[[{root,child}]] = list[[{child,root}]]; root = child;,
|
||||
Break[];
|
||||
]
|
||||
]
|
||||
heapSort[list_] := Module[{ count, start},
|
||||
count = Length[list]; start = Floor[count/2];
|
||||
While[start >= 1,list = siftDown[list,start,count];
|
||||
start--;
|
||||
]
|
||||
While[count > 1, list[[{count,1}]] = list[[{1,count}]];
|
||||
count--; list = siftDown[list,1,count];
|
||||
]
|
||||
]
|
||||
Loading…
Add table
Add a link
Reference in a new issue