Я отправляю свой вопрос (явно недостаточно информации). Я хотел бы напечатать данное двоичное дерево по горизонтали в C со ссылками между узлами. Я сделал это без ссылок; когда я пытался сделать это со ссылками, он действительно перепутался.Как печатать в консоли дерево по горизонтали со ссылками с помощью c
PS: Другие объяснения в изображениях Click here to view и вот структура Я работаю с:
typedef struct node{
int val; // value of the node
struct node *left; // left node
struct node *right; // right node
}node;
А вот функция, которую я написал, что можно нарисовать дерево с пробелами и нет связи между узлами:
#define space 5
//secondary function
void draw_tree_hor2(node *tree, int distance)
{
// stopping condition
if (tree== NULL)
return;
// increase spacing
distance += space;
// start with right node
draw_tree_hor2(tree->right, distance);
// print root after spacing
printf("\n");
for (int i = space; i < distance; i++)
printf(" ");
printf("%d\n", tree->value);
// go to left node
draw_tree_hor2(tree->left, distance);
}
//primary fuction
void draw_tree_hor(node *tree)
{
//initial distance is 0
draw_tree_hor2(tree, 0);
}
Если информации, которую я дал, недостаточно, пожалуйста, сообщите мне ...
Я предполагаю, что это домашнее задание, так как там был [подобный вопрос] (http://stackoverflow.com/questions/41090663/how-to-print-in-console -a-tree-horizotally-with-links-using-c-language # 41090663) с идентичным графиком в последнее время. –
Добро пожаловать в переполнение стека. Вскоре прочитайте страницы [О программе] и [Спросить]. Похоже, вы узнали о том, как создать MCVE ([MCVE]). Также похоже, что вы задавали этот вопрос раньше, как другой пользователь ([Как печатать на консоли дерево по горизонтали со ссылками] (http://stackoverflow.com/questions/41090663/how-to-print-in-console- a-tree-horizotally-with-links-using-c-language), как и у другого пользователя. Этот вопрос, по крайней мере, получил некоторый код, который другой был лишен недостатка. Можем ли мы быть уверены, что вы не просто удалите свою учетную запись и/или вопрос на этот раз? –
нет, это я, это сообщение, что вопрос тоже, по ошибке я удалил accout, так что создал новый, и отправьте тот же вопрос здесь с более подробной информацией ... –