Добавил:
github.com Кофедра ВТ-помойка Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
31
Добавлен:
17.11.2018
Размер:
80.92 Кб
Скачать

Avl_tree.H

#pragma once

#include <iostream>

using namespace std;

struct avl_node

{

int data;

struct avl_node *left;

struct avl_node *right;

};

/*

* Class Declaration

*/

class avlTree

{

public:

int* array = NULL;

int kolvo = 0;

avl_node * root;

int height(avl_node *);

int diff(avl_node *);

avl_node *rr_rotation(avl_node *);

avl_node *ll_rotation(avl_node *);

avl_node *lr_rotation(avl_node *);

avl_node *rl_rotation(avl_node *);

avl_node* balance(avl_node *);

avl_node* insert(avl_node *, int);

void display(avl_node *, int);

void inorder(avl_node *);

void preorder(avl_node *);

void postorder(avl_node *);

bool find(avl_node*, int)const;

avlTree operator =(avlTree &);

void concat(const avlTree &);

void subst(const avlTree &, int);

void excl(const avlTree&);

avlTree operator=(const avlTree&);

avlTree(const avlTree & set)

{

root = set.root;

array = set.array;

kolvo = set.kolvo;

}

avlTree()

{

root = NULL;

}

};

Соседние файлы в папке Колинько 4 семестр 2018