В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
misa26
misa26
12.03.2022 17:31 •  Информатика

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

Показать ответ
Ответ:
eto1pizdech
eto1pizdech
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);

}

Объяснение:

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота