с программой на PASCAL, очень нужно

ЛизаЕ ЛизаЕ    2   18.03.2020 10:56    2

Ответы
Викитирон Викитирон  12.10.2020 00:50

#include <iostream>

using namespace std;

//Структура для описания узла

struct Node {

int key;

Node* left;

Node* right;

};

//Класс для описания дерева

class MyTree {

public:

Node* Head;

void AddNode(int key);

void GetTree(Node* &N);

MyTree();

};

//Реализация метода добавления элемента в дерево

void MyTree::AddNode(int key) {

Node* x = Head;

Node* y = nullptr;

while (x!=nullptr){

 y = x;

 if (key > x->key)

  x = x->right;

 else

  x = x->left;

}

Node* tmp = new Node;

tmp->key = key;

tmp->left = nullptr;

tmp->right = nullptr;

if (y == nullptr)

 Head = tmp;

else

 if (key > y->key)

  y->right = tmp;

 else

  y->left = tmp;

}

//Реализациия метода получения дерева

void MyTree::GetTree(Node* &N) {

if (N != nullptr) {

 GetTree(N->left);

 GetTree(N->right);

 cout << N->key << ";";

}  

}

//Реализация конструктора

MyTree::MyTree() {

Head = nullptr;

}

int main()

{

int n;

cout << "Input N:";

cin >> n;

MyTree T;

for(int i=1;i<=n;i++)

 T.AddNode(rand()%100);

T.GetTree(T.Head);

}

Объяснение:

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика