У меня есть некоторый базовый код, но я не знаю, что я иду в правильном направлении для этого сценария.
-Дизайн новой функции to_tree, которая преобразует связанный список в двоичное дерево поиска.
-Подпись функции должна быть bt_node * to_tree (list_node * n)
-При выходе возвращаемое двоичное дерево должно содержать все элементы, содержащиеся во входном списке.
// linked list node
struct list_node{
jlist_node* next;
int value;
};
// binary tree node
struct bt_node {
int value;
bt_node* left;
bt_node* right;
};
bt_node* to_tree(list_node* n){
bt_node* temp = new bt_node //new node
temp = (temp->n);
if (temp != Null){
if((n->next)<(n->value)){
(temp->left) = (n->next);
}else{
(temp->right) = (n->next);
}
to_tree(list_node* (n->next);
}
}
Может быть несколько ошибок, но я просто пытаюсь получить базовое понимание, так как это часть задания более низкого уровня.Может отвечать в псевдокоде.