¹þ¶û±õÀí¹¤´óѧ
Èí¼þÓë΢µç×ÓѧԺ
ʵ Ñé ±¨ ¸æ
£¨2017-2018µÚһѧÆÚ£©
¿Î³ÌÃû³Æ£º
°à ¼¶£º
ѧ ºÅ£º
ÐÕ Ãû£º
ʵÑéÃû³Æ ÐÕ Ãû ²Üåû Êý¾Ý½á¹¹ÊµÑéËÄ Ñ§ ºÅ 1614010102 ר Òµ °à ¼¶ Èí¼þ¹¤³Ì Èí¼þ16-1°à Ò»¡¢ÊµÑéÄ¿µÄ£º
1. ÊìÁ·ÕÆÎÕ˳Ðò²éÕÒ·½·¨£»
2. ÊìÁ·ÕÆÎÕ¶þ·Ö²éÕÒ·½·¨¼´BinSearch()£»
¶þ¡¢ÊµÑéÄÚÈÝ£º
1. ÓÃ˳Ðò²éÕÒ·¨¶Ô±í½øÐвéÕÒ£» 2.Óöþ·Ö²éÕÒ·¨¶Ô²éÕÒ±í½øÐвéÕÒ 3.½¨Á¢¶þ²æÅÅÐòÊ÷²¢¶Ô¸ÃÊ÷½øÐвéÕÒ
Èý¡¢ÊµÑéÉ豸¼°Èí¼þ»·¾³£º
Èí¼þÐèÇó£º
Code Blocks Ó²¼þÐèÇó£º
΢ÐͼÆËã»ú
ËÄ¡¢ÊµÑé¹ý³Ì¼°½á¹û£º #include
template
ElemType data;
BinTreeNode
leftChild=rightChild=NULL; }
BinTreeNode(ElemType &item, BinTreeNode
data=item;
leftChild=lChild; rightChild=rChild; } };
template
protected:
BinTreeNode
void DestroyHelp(BinTreeNode
int NodeCountHelp(const BinTreeNode
BinTreeNode
void DeleteHelp(BinTreeNode
BinarySortTree();
BinTreeNode
bool GetElem(const BinTreeNode
void InOrder()const;///ÏÈ void PreOrder()const;///ÖÐ void PostOrder()const;///ºó
int NodeCount()const;///½áµã¸öÊý int Height()const;///¸ß¶È
BinTreeNode
bool Insert(const ElemType &e); ///²åÈëÊý¾ÝÔªËØe
bool Delete(const KeyType &key); ///ɾ³ý¹Ø¼ü×ÖΪeµÄÊý¾ÝÔªËØ };
template
BinarySortTree
root=NULL; }
template
void BinarySortTree
if(r!=NULL) {
DestoryHelp(r->leftChild); DestoryHelp(r->rightChild);
delete r; r=NULL; } }
template
void BinarySortTree
BinTreeNode
if(p->leftChild==NULL && p->rightChild==NULL) {
delete p; p=NULL; }
else if(p->leftChild==NULL) {
tmpPtr=p;
p=p->rightChild; delete tmpPtr; } else {
tmpF=p;
tmpPtr=p->leftChild;
while(tmpPtr->rightChild!=NULL) {
tmpF=tmpPtr;
tmpPtr=tmpPtr->rightChild; }
p->data=tmpPtr->data;
if(tmpF->rightChild==tmpPtr) {
DeleteHelp(tmpF->rightChild); } else {
DeleteHelp(tmpF->leftChild); } } }
template
void BinarySortTree
if(r!=NULL)