Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function treeSort(t){
- var tree = _treeElem(t[t.length-1], null, null, null);
- for(var i=0;i<t.length-1;i++){
- _buildTree(tree, t[i]);
- }
- //console.log(tree);
- t.splice(0);
- _sortedTree(tree, t);
- }
- function _sortedTree(tree, t){
- if( tree.first ){
- _sortedTree(tree.first, t);
- }
- t.push(tree.value);
- if( tree.second ){
- _sortedTree(tree.second, t);
- }
- }
- function _buildTree(tree, v){
- if( tree.value>=v ){
- if( tree.first ){
- _buildTree(tree.first, v)
- }else{
- tree.first = _treeElem(v, tree, null, null);
- }
- }else{
- if( tree.second ){
- _buildTree(tree.second, v)
- }else{
- tree.second = _treeElem(v, tree, null, null);
- }
- }
- }
- function _treeElem(v, p, f, s){
- return {
- parent: p,
- first: f,
- second: s,
- value: v
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment