![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
В качестве примера рассмотрим проект (для последовательно введенных ключей 10 (корень), 25, 20, 6, 21, 8, 1, 30), который создает дерево, отображает его в Memo, удаляет элемент по ключу и удаляет дерево. Панель диалога будет иметь вид, представленный на рис. 5.2.
Как и в предыдущих примерах, приведем только тексты функций-обработчиков соответствующих кнопок, а тексты функций пользователя рассмотрены выше:
Рис. 5.2
//----------------------------- Шаблон структуры ----------------------------------------------
struct Tree {
int info;
Tree *left, *right;
}*root; // Корень
//----------------- Декларации прототипов функций работы с деревом ----------------
void Add_List(Tree*, int);
void View_Tree (Tree*, int);
Tree* Del_Info(Tree*, int);
void Del_Tree(Tree*);
Tree* List(int);
//--------------------- Текст функции-обработчика кнопки Создать --------------------
if(root!= NULL) Del_Tree(root);
root = List (StrToInt(Edit1->Text));
//--------------------- Текст функции-обработчика кнопки Просмотреть ------------
if(root == NULL) ShowMessage(" Create TREE!");
else {
Memo1->Lines->Add("---------- View -----------");
View_Tree(root, 0);
}
//--------------------- Текст функции-обработчика кнопки Добавить ------------------
if(root == NULL) root = List (StrToInt(Edit1->Text));
else Add_List (root, StrToInt(Edit1->Text));
//--------------------- Текст функции-обработчика кнопки УдалитьINFO -----------
int b = StrToInt(Form1->Edit1->Text);
root = Del_Info(root, b);
//--------------------- Текст функции-обработчика кнопки ОЧИСТИТЬ ---------------
Del_Tree(root);
ShowMessage(" Tree Delete!");
root = NULL;
//--------------------- Текст функции-обработчика кнопки EXIT ------------------------
if(root!=NULL){
Del_Tree(root);
ShowMessage(" Tree Delete!");
}
Close();
Дата публикования: 2015-02-22; Прочитано: 212 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!