Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Сергей094
Сообщений: n/a
#1

Работа с деревьями с ++ - C++

29.03.2012, 18:49. Просмотров 849. Ответов 0
Метки нет (Все метки)

Помогите пожалуйста с програмкой про деревья:
Построить бинарное дерево. Данные вводяться с клавиатуры или считуються с файла. Вывести дерево на екран. Определить максимальную глубину дерева – число веток на найбольшом с маршрутов от кореня дерева до его листков. Вывести етот маршрут.
Вот пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include<iostream>
#include<string.h>
using namespace std;
struct node {                               
   char data[10];                   
   node *left,                    
        *right;                  
};
 int n;                              
 char value[10];                      
 node *root;                      
 
void Printtree(node **RootTree, int L)
{                
                
 if((*RootTree!=NULL))                     
 {
  Printtree(&((*RootTree)->left),L+1);
  for(int i=0;i<L;i++)cout<<"    ";   
                                                     
     cout<<(*RootTree)->data<<endl;   
  Printtree(&((*RootTree)->right),L+1);
   }
}
 
void Tree( node  **ptr, char str[10],int AmountNode )
{ 
          
 int LeftNodes,                    
     RightNodes;                        
  if( AmountNode ==0)                     
    *ptr=0;                                 
  else 
  {
   LeftNodes= AmountNode / 2;  
   RightNodes= AmountNode - LeftNodes -1;
   cout<<"Enter node data: ";
   cin>>str;                
   *ptr= new node;                    
   strcpy((*ptr)->data,str);        
   (*ptr)->left=0;          
   (*ptr)->right=0;
        
    Tree (&((*ptr )->left ), str, LeftNodes );
      
    Tree(&((*ptr )->right ), str, RightNodes);
  }
}
 
int main()
{
  cout<<"Create and display tree"<<endl;
  cout<<"Enter number of tree''s nodes"<<endl;
  cin>>n;                      
  root=NULL;
  cout << "Enter "<<n<<" integer values:\n";
  Tree(&root,value,n);                        
                         
  cout<<"Created tree"<<endl;
  Printtree(&root,0); 
  system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2012, 18:49     Работа с деревьями с ++
Посмотрите здесь:

C++ работа с нагруженными деревьями в С++
C++ Работа с деревьями (Найти все поддеревья, листья которых находятся в заданном диапазоне высот от корня поддерева)
Работа с деревьями C++
Программа. Работа с деревьями. Ошибки КОМПИЛЯЦИИ C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 09:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru