c_cpp C ++中的二进制树,用于测试两个二叉树是否彼此相等。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp C ++中的二进制树,用于测试两个二叉树是否彼此相等。相关的知识,希望对你有一定的参考价值。
#include <iostream>
template<class T>
class BinaryNode {
public:
BinaryNode(const T& val,
BinaryNode<T>* left = nullptr,
BinaryNode<T>* right = nullptr): _value(val), _left(left), _right(right)
{
}
~BinaryNode() {
delete _left;
delete _right;
}
const T& getValue(void) const {
return _value;
}
void setRight(BinaryNode* node) {
_right = node;
}
BinaryNode<T>* getRight(void) const {
return _right;
}
void setLeft(BinaryNode* node) {
_left = node;
}
BinaryNode<T>* getLeft(void) const {
return _left;
}
bool operator==(const BinaryNode<T>& other) const {
return _value == other.getValue() &&
_left == other.getLeft() &&
_right == other.getRight();
}
private:
T _value;
BinaryNode<T>* _left;
BinaryNode<T>* _right;
};
// To execute C++, please define "int main()"
int main(int argc, const char** argv) {
BinaryNode<int>* a = new BinaryNode(3);
BinaryNode<int>* b = new BinaryNode(3);
BinaryNode<int>* c = new BinaryNode(6);
b->setRight(c);
a->setRight(c);
std::cout << (*a == *b) << std::endl;
return 0;
}
以上是关于c_cpp C ++中的二进制树,用于测试两个二叉树是否彼此相等。的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp C语言中的二叉搜索树实现
C ++中的二叉搜索树,叶子为空值,不适用于参考参数
用于在C中为二叉搜索树分配内存的分段错误
C Primer Plus--高级数据结构之二叉树
C中的二叉树 - 多数据
两数之和。给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true