y">} BinaryTree :: showfile () {(root == 0) cout <<"Деревопустое" <
} BinaryTree :: showfile (ulong p, int sp) {(p == 0) return; l, r, n, m [5], s = sizeof (ulong); i; (p, l, r, n, m); (r, sp +15); (strcmp (typeid (T). name (), "class Time") == 0) { (i = n-1; i> = 0; i -) {(int j = 0; j
}
} else {(i = 0; i
}
} <
} BinaryTree :: GetInfoNode (ulong p, ulong & l, ulong & r, ulong & n, ulong * m) {i, j; s = sizeof (ulong); (p, l); (p + s, r); (p +2 * s, n); (i = p +3 * s, j = 0; j <5; i + = s , j + +) readvar (i, m [j]);
} BinaryTree :: del (T & obj) {(root == 0) {<<"Деревопустое" <
} (root == -1) {<<"Файлнеоткрит n"; 0;
} {a = del (root, obj); (a) {1: return 1; 0: return 0; - 1: {//видалена коренева вершина і дерево порожньо = 0; (0 , root); 1;
} - 2: {//видалена коренева вершина і але є нащадки = delete_node_createnew (root); (0, root); 1;
}
}
}
} BinaryTree :: del (ulong p, T & obj) {(p == 0) return 0; l, r, n, m [5] , s = sizeof (ulong); i; (p, l, r, n, m); fobj1, fobj2; (m [0], fobj1); (m [n-1], fobj2); (obj> fobj2 ) {//видаляємо з правого поддереваa = del (r, obj); (a) {1: return 1; 0: return 0; - 1: {= 0; (p + s, r); 1;
} - 2: {= delete_node_createnew (r); (p + s, r); 1;
}
}
} (obj
} - 2: {= delete_node_createnew (l); (p, l); 1;
}
}
} (i = 0; i
} 0;
} BinaryTree :: compress () {(root == 0) cout <<"Деревопустое" <
// перезапісьфайла ...