OAIP_Mirror/lab26/Sources/DictTree.c
2024-12-06 15:17:07 +04:00

103 lines
2.2 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

////
//// Ðåàëèçàöèÿ ñëîâàðÿ íà äâîè÷íîì äåðåâå ïîèñêà
////
//
//#define _CRT_SECURE_NO_WARNINGS
//#include <string.h>
//#include <stdlib.h>
//#include "Dict.h"
//
//
//// Óçåë äåðåâà
//struct NodeTree {
// char* word;
// struct NodeTree* left;
// struct NodeTree* right;
//};
//
//// Êîðåíü äåðåâà
//struct NodeTree* root = NULL;
//
//
//
//struct NodeTree* addElement(struct NodeTree* p, char* word)
//{
// int cond;
//
// if (p == NULL) {
// p = (struct NodeTree*)malloc(sizeof(struct NodeTree));
// p->word = (char*)calloc(strlen(word) + 1, sizeof(char));
// strcpy(p->word, word);
// p->left = p->right = NULL;
// }
// else if ((cond = strcmp(word, p->word)) == 0) {
// // âñòàâëÿåìîå ñëîâî ñîâïàäàåò
// // ñ óæå èìåþùèìñÿ - íè÷åãî íå äåëàåì
// }
// else if (cond < 0) {
// // âñòàâëÿåìîå ñëîâî ìåíüøå
// // êîðíÿ ïîääåðåâà
// p->left = addElement(p->left, word);
// }
// else {
// // âñòàâëÿåìîå ñëîâî áîëüøå
// // êîðíÿ ïîääåðåâà
// p->right = addElement(p->right, word);
// }
// return p;
//}
//
//
//
//void clearTree(struct NodeTree* p) {
// if (p != NULL) {
// clearTree(p->left);
// clearTree(p->right);
// free(p->word);
// free(p);
// }
//}
//
//int containElement(struct NodeTree* p, char* word) {
// int cond;
// if (p == NULL) {
// return 0;
// }
// else if ((cond = strcmp(word, p->word)) == 0) {
// return 1;
// }
// else if (cond < 0) {
// return containElement(p->left, word);
// }
// else {
// return containElement(p->right, word);
// }
//}
//
//
//
///* INSERT äîáàâëÿåò ýëåìåíò â ìíîæåñòâî.
//Ìíîæåñòâî ñîäåðæèò òîëüêî óíèêàëüíûå ýëåìåíòû.
//Ïðè ïîâòîðíîì äîáàâëåíèè ýëåìåíòà â ìíîæåñòâî, ìíîæåñòâî íå èçìåíÿåòñÿ.*/
//void Insert(char* word) {
// root = addElement(root, word);
//}
//
///* MEMBER ñîîáùàåò, ÿâëÿåòñÿ ëè óêàçàííûé ýëåìåíò ÷ëåíîì äàííîãî ìíîæåñòâà èëè íåò.*/
//int Member(char* word) {
// return containElement(root, word);
//}
//
///* CREATE - ñîçäàåò ñëîâàðü.
//Âûçûâàåòñÿ ïåðåä íà÷àëîì èñïîëüçîâàíèÿ ñëîâàðÿ. */
//void Create() {
// root = NULL;
//}
//
///* DESTROY - óíè÷òîæàåò ñëîâàðü.
//Âûçûâàåòñÿ ïîñëå îêîí÷àíèÿ èñïîëüçîâàíèÿ ñëîâàðÿ. */
//void Destroy() {
// clearTree(root);
// root = NULL;
//}