K
Karmen
Уважаемые программисты,никак не могу разобраться с бинарными деревьями.....
Мне нужно создать дерево‐формулу за постфиксной формой. Вивести дерево на экран. Напечатать все листья (терминальные елементы) дерева.
Вот текст программки, тут есть только создание дерева и вывод на экран((((
Кто-нибудь помогите,пожалуйста,с заданием остальным.
Ах да,добавлю,к сожалению,в этой проге компилятор мне наодит ошибку.....(в этом месте,где подсвечено)я ее в упор не вижу
Благодарю за ранее....
Мне нужно создать дерево‐формулу за постфиксной формой. Вивести дерево на экран. Напечатать все листья (терминальные елементы) дерева.
Вот текст программки, тут есть только создание дерева и вывод на экран((((
Кто-нибудь помогите,пожалуйста,с заданием остальным.
Ах да,добавлю,к сожалению,в этой проге компилятор мне наодит ошибку.....(в этом месте,где подсвечено)я ее в упор не вижу
Благодарю за ранее....
C++:
#include <iostream.h>
#include <stdio.h>
#include <string.h>
#include <conio.h>
struct node
{
int Key;
int Count;
node* Left;
node* Right;
};
void BuildTree (node *Tree)
{
int el;
Tree=NULL;
cout<<"Vvodite kluchi<<";
cin>>el;
while(el!=0)
{
Search (el,Tree);
cin>>el;
}
}
void Search (int x, node *p)
{
if (p==NULL)
{
p=new(node);
p->Key=x;
p->Count=1;
p->Left=p->Right=NULL;
}
else
if (x<p->Key)
Search(x, &(p->Left));
else if (x>p->Key)
Search(x,&(p->Right));
else p->Count=p->Count+1;
}
void PrintTree (node *w, int l)
{
if (w!=NULL)
{
PrintTree (w->Right,l+1);
for (int i=1;i<=l;i++) cout << " ";
cout << w->Key << endl;
PrintTree (w->Left,l+1);
}
}
void main ()
{ node *phead; int j;
clrscr();
BuildTree(phead);
PrintTree(phead, j);
getch();
}