91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 30KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-13
  • 語言: 其他
  • 標簽: shujujiegou??

資源簡介

二叉樹的實現各種遍歷算法,插入刪除成員函數非常全。二叉樹的實現各種遍歷算法,插入刪除成員函數非常全

資源截圖

代碼片段和文件信息

#include?“BinaryTree.h“

template?
BinaryTree::BinaryTree(){
????m_root?=?NULL;
}

template?
BinaryTree::BinaryTree(T?data){
????m_root?=?new?BinaryTreeNode(data);
}

template?
BinaryTree::~BinaryTree(){
????Destroy(m_root);
????m_root?=?NULL;
}

template?
bool?BinaryTree::isEmpty()?const{
????return?m_root?==?NULL???true?:?false;
}

template?
bool?BinaryTree::isLeftChild(BinaryTreeNode?*p){
????return?p?==?getParent(p)->getLeftChild()???true?:?false;
}

template?
bool?BinaryTree::isRightChild(BinaryTreeNode?*p){
????return?p?==?getParent(p)->getRightChild()???true?:?false;
}

template?
BinaryTreeNode*?BinaryTree::getRoot(){
????return?m_root;
}

template?
BinaryTreeNode*?BinaryTree::getParent(BinaryTreeNode?*p){
????return?Parent(m_root?p);
}

template?
BinaryTreeNode*?BinaryTree::leftChild(BinaryTreeNode?*root)const{
????return?root?==?NULL???NULL?:?root->getLeftChild();
}

template?
BinaryTreeNode*?BinaryTree::rightChild(BinaryTreeNode?*root)const{
????return?root?==?NULL???NULL?:?root->getRightChild();
}

template?
BinaryTreeNode*?BinaryTree::leftSibling(BinaryTreeNode?*p){
????BinaryTreeNode?*q;
????q?=?Parent(m_root?p);
????if?(q?==?NULL?||?(p?==?q->getLeftChild()))
????????return?NULL;
????return?q->getLeftChild();
}

template?
BinaryTreeNode*?BinaryTree::rightSibling(BinaryTreeNode?*p){
????BinaryTreeNode?*q;
????q?=?Parent(m_root?p);
????if?(q?==?NULL?||?(p?==?q->getRightChild()))
????????return?NULL;
????return?p->getRightChild();
}

template?
T?BinaryTree::Retrieve(BinaryTreeNode?*p)const{
????return?p->getData();
}

template?
void?BinaryTree::Assign(BinaryTreeNode?*p?const?T?&d)const{
????p->setData(d);
}

template?
void?BinaryTree::insertLeftChild(BinaryTreeNode?*p?const?T?&d)const{
????BinaryTreeNode?*q?=?new?BinaryTreeNode(d);
????q->setLeftChild(p->getLeftChild());
????p->setLeftChild(q);
}

template?
void?BinaryTree::insertRightChild(BinaryTreeNode?*p?const?T?&d)const{
????BinaryTreeNode?*q?=?new?BinaryTreeNode(d);
????q->setRightChild(p->getRightChild());
????p->setRightChild(q);
}

template?
void?BinaryTree::Destroy(BinaryTreeNode?*p){
????if?(p){
????????Destroy(p->getLeftChild());
????????Destroy(p->getRightChild());
????????delete?p;
????}
}

template?
BinaryTreeNode*?BinaryTree::Parent(BinaryTreeNode?*root?BinaryTreeNode?*p){
????BinaryTreeNode?*q;
????if?(root?==?NULL)
????????return?NULL;
????if?((p?==?root->getLeftChild())?||?(p?==?root->getRightChild()))
????????return?root;
????if?(q?=?Parent(root->getLeftChild()?p))
????????return?q;
????else
????????return?Parent(root->getRightChild()?p);
}

///先

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-08-19?13:19??BinaryTreeNode\bin\
?????目錄???????????0??2018-08-19?21:08??BinaryTreeNode\bin\Debug\
?????文件????????5780??2018-08-19?21:05??BinaryTreeNode\BinaryTree.cpp
?????文件????????2327??2018-08-19?21:07??BinaryTreeNode\BinaryTree.h
?????文件????????1559??2018-08-19?20:34??BinaryTreeNode\BinaryTreeNode.cbp
?????文件????????1091??2018-08-19?16:49??BinaryTreeNode\BinaryTreeNode.cpp
?????文件?????????480??2018-08-19?21:07??BinaryTreeNode\BinaryTreeNode.depend
?????文件????????1010??2018-08-19?16:42??BinaryTreeNode\BinaryTreeNode.h
?????文件????????1117??2018-08-19?21:08??BinaryTreeNode\BinaryTreeNode.layout
?????文件????????1036??2018-08-19?21:07??BinaryTreeNode\main.cpp
?????目錄???????????0??2018-08-19?13:19??BinaryTreeNode\obj\
?????目錄???????????0??2018-08-19?21:07??BinaryTreeNode\obj\Debug\
?????文件???????20560??2018-08-19?21:07??BinaryTreeNode\obj\Debug\BinaryTree.o
?????文件???????16702??2018-08-19?20:44??BinaryTreeNode\obj\Debug\BinaryTreeNode.o
?????文件???????24360??2018-08-19?21:07??BinaryTreeNode\obj\Debug\main.o

評論

共有 條評論

相關資源