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

Удалить вершины ДДП ,у которых только левый потомок - C++

Восстановить пароль Регистрация
 
Creati8e
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 3
24.09.2013, 21:28     Удалить вершины ДДП ,у которых только левый потомок #1
Два дня сижу ,полностью рабочий алгоритмов не могу составить. Надеюсь на помощь.
P.S поиск юзал ,много похожих тем пересмотрел.Но ничего адекватного и близкого к моей проблеме не нашел.
Основную функцию не выкладываю ,ибо там просто вызов методов для создания ДДП.
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
#include <iostream>
using namespace std;
class Node
{
      public:
      Node *tree,*l,*r;
      int inf;
      
      void init()
      {
             cout<<"Read"<<endl;
            cin>>inf;
            tree=new Node;
            tree->r=tree->l=NULL;
            tree->inf=inf;
            }
      void add(Node *&tree1,int sc)
      {
           if (tree1==NULL)
           {
                           tree1=new Node;
                           tree1->r=tree1->l=NULL;
                           tree1->inf=inf;
                           }
           else if (sc<tree1->inf) add(tree1->l,sc); else add(tree1->r,sc);
           }
      void creating(Node *&tree)
      {
         cin>>inf;
         while(inf!=0)
         {
                      add(tree,inf);
                      cin>>inf;
                      }
                      }
      void show(Node *tree)
      {
           if (tree!=NULL)
           {
                          show(tree->l);
                          cout<<tree->inf<<" ";
                          show(tree->r);
                          }
                          }
      void del(Node *&tree)
      {
            if  (tree!=NULL)
                 {
                       del(tree->l);
                       delete tree;
                       del(tree->r);
                       }
                       }
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2013, 21:28     Удалить вершины ДДП ,у которых только левый потомок
Посмотрите здесь:

C++ Найти все вершины орграфа, от которых существует путь заданной длины к выделенной вершине
Удалить белые вершины в дереве C++
C++ Задача на графы. Удалить ребра так, чтобы степень любой вершины была равна 3 или 0
C++ удалить из строки только те слова, которые состоят только из латинских букв
C++ Задача на графы. Удалить ребро, соединяющее вершины a и b
Вывести массивы номеров строк и столбцов, все элементы которых равны только 1 или только 0 C++
Определить, какие вершины достижимы из заданной вершины S C++
Найти все вершины графа, к которым от заданной вершины можно добраться по пути не длиннее А C++

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

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

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