• ADADADADAD

    C++二叉树模板怎么实现[ 编程知识 ]

    编程知识 时间:2024-11-20 12:39:06

    作者:文/会员上传

    简介:

    以下是一个用C++模板实现的二叉树的例子:#include <iostream>template <typename T>struct Node {T data;Node<T>* left;Node<T>* right;Node(T val) : data(val), left(null

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    以下是一个用C++模板实现的二叉树的例子:

    #include <iostream>template <typename T>struct Node {T data;Node<T>* left;Node<T>* right;Node(T val) : data(val), left(nullptr), right(nullptr) {}};template <typename T>class BinaryTree {private:Node<T>* root;public:BinaryTree() : root(nullptr) {}void insert(T val) {root = insertNode(root, val);}void inorderTraversal() {inorderTraversal(root);}private:Node<T>* insertNode(Node<T>* root, T val) {if (root == nullptr) {return new Node<T>(val);}if (val < root->data) {root->left = insertNode(root->left, val);} else {root->right = insertNode(root->right, val);}return root;}void inorderTraversal(Node<T>* root) {if (root != nullptr) {inorderTraversal(root->left);std::cout << root->data << " ";inorderTraversal(root->right);}}};int main() {BinaryTree<int> tree;tree.insert(5);tree.insert(3);tree.insert(8);tree.insert(1);tree.insert(4);std::cout << "Inorder traversal of the binary tree is: ";tree.inorderTraversal();return 0;}

    在这个例子中,我们定义了一个Node结构来表示二叉树的节点,然后定义了一个BinaryTree类来表示二叉树。BinaryTree类包含了插入节点和中序遍历二叉树的方法。在main函数中,我们创建了一个整型的二叉树并进行了一些插入操作和中序遍历操作。您可以根据需要修改代码以适应不同的数据类型和操作。

    C++二叉树模板怎么实现.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: c++