Бинарные деревья!

  • Автор темы Karmen
  • Дата начала
K

Karmen

Гость
#1
Уважаемые программисты,никак не могу разобраться с бинарными деревьями.....
Мне нужно создать дерево‐формулу за постфиксной формой. Вивести дерево на экран. Напечатать все листья (терминальные елементы) дерева.

Вот текст программки, тут есть только создание дерева и вывод на экран((((
Кто-нибудь помогите,пожалуйста,с заданием остальным.
Ах да,добавлю,к сожалению,в этой проге компилятор мне наодит ошибку.....(в этом месте,где подсвечено)я ее в упор не вижу
Благодарю за ранее....

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();
}
 
D

dimaK

Гость
#2
Ты пытаешься воспользоваться функцией, которая еще не объявлена. Описание функции Search нужно разместить перед описанием функции BuildTree.