#include <iostream>
using namespace std;
int count=0;
struct bintree
{
bintree *p1;
bintree *p2;
int n;
};
bintree *maketree(int N)
{
bintree *p;
p=new bintree;
count++;
p->n=count;
if(N>1)
{
p->p1=maketree(n-1);
p->p2=maketree(n-1);
}
return p;
}
int main()
{
bintree *q;
q=maketree(4); //naprimer 4 urovnevoe derevo
cout<<"elements in tree:"<<count<<endl;
cout<<q->n<<endl;
cout<<q->p1->n<<endl;
cout<<q->p1->p1->p1->n<<endl;
cout<<q->p1->p2->p1->n<<endl;
cout<<q->p2->n<<endl;
cout<<q->p2->p1->n<<endl;
cout<<q->p2->p2->p2->n<<endl;
return 0;
}
бинарное дерево и действия с ним
реализовать операции для работы с бинарным деревом:
- создание элемента, узла.
- включение элемента в дерево, по алгоритму двоичного поиска.
- нахождение в дереве узла с заданным значением ключевого признака
- определение макс. глубины дерева
- определение кол-ва узлов дерева
- определение кол-ва листьев дерева
- обход снизу вверх - левое поддерево, правое поддерево, корень.
тип данных - символ.
у меня вроде бы получилось создать дерево, но я не понимаю как реализовать остальные функции, помогите пожалуйста!
Код:
Вот, делал когда учился, должно помочь.
Дейтел & Дейтел "Как программировать на С++", эта книга должна быть в сети, очень доступная и насколько я помню такие базовые вещи там есть.
Цитата:
Вот, делал когда учился, должно помочь.
спасибо огромное! а не подскажите в каком билдере это можно нормально открыть и скомпилировать?, просто у меня Визуал студия 6.0, а когда искал норм билдер, натыкался на всякие кривые паки(
Тыц. Там ехешник скомпиленый уже есть.
[ATTACH=CONFIG]4967[/ATTACH]
[ATTACH=CONFIG]4967[/ATTACH]