BST(binary search tree)类型题目需要用到的头文件binary_tree.h
生活随笔
收集整理的這篇文章主要介紹了
BST(binary search tree)类型题目需要用到的头文件binary_tree.h
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
下面是二叉搜索樹需要用到的頭文件binary_tree.h
#include <stdio.h>struct BinaryTreeNode{int value;BinaryTreeNode* pLeft;BinaryTreeNode* pRight;
};BinaryTreeNode* CreateBinaryTreeNode(int value){BinaryTreeNode* pNode = new BinaryTreeNode();pNode->value = value;pNode->pLeft = NULL;pNode->pRight = NULL;return pNode;
}void ConnectTreeNodes(BinaryTreeNode* pParent, BinaryTreeNode* pLeft, BinaryTreeNode* pRight){if(pParent != NULL){pParent->pLeft = pLeft;pParent->pRight = pRight;}
}void PrintTreeNode(BinaryTreeNode* pNode){if(pNode != NULL){printf("value of this node is: %d\n ", pNode->value);if(pNode->pLeft != NULL)printf("value of its left child is: %d \n", pNode->pLeft->value);elseprintf("left child is null. \n");if(pNode->pRight != NULL)printf("value of its right child is: %d \n", pNode->pRight->value);elseprintf("right child is null. \n");}else{printf("this node is null. \n");}printf("\n");
}void PrintTree(BinaryTreeNode* pRoot){PrintTreeNode(pRoot);if(pRoot != NULL){if(pRoot->pLeft != NULL)PrintTree(pRoot->pLeft);if(pRoot->pRight != NULL)PrintTree(pRoot->pRight);}
}void DestroyTree(BinaryTreeNode* pRoot){if(pRoot != NULL){BinaryTreeNode* pLeft = pRoot->pLeft;BinaryTreeNode* pRight = pRoot->pRight;delete pRoot;pRoot = NULL;DestroyTree(pLeft);DestroyTree(pRight);}
}
總結(jié)
以上是生活随笔為你收集整理的BST(binary search tree)类型题目需要用到的头文件binary_tree.h的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有一个1亿结点的树,已知两个结点, 求它
- 下一篇: 将BST转换为有序的双向链表!