Как напечатать в консоли дерево горизонтально со ссылками на языке Си
Привет, я хотел бы напечатать данное двоичное дерево горизонтально на языке Си со связями между узлами.
Я сделал это без ссылок, но когда я попытался сделать это со ссылками, это действительно испортилось... Так что если кто-нибудь может дать мне решение, это будет очень полезно.
Спасибо...
ЗЫ: еще пояснения в картинках Нажмите здесь, чтобы просмотреть & вот структура, с которой я работаю :
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); }