• ADADADADAD

    c语言二叉树怎么创建与遍历[ 编程知识 ]

    编程知识 时间:2024-12-04 17:03:37

    作者:文/会员上传

    简介:

    在C语言中,可以使用结构体来表示二叉树节点,然后通过递归的方式来创建和遍历二叉树。首先定义一个结构体表示二叉树节点:struct TreeNode {int data;struct TreeNode* left;str

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

    在C语言中,可以使用结构体来表示二叉树节点,然后通过递归的方式来创建和遍历二叉树。

    首先定义一个结构体表示二叉树节点:

    struct TreeNode {int data;struct TreeNode* left;struct TreeNode* right;};

    然后可以定义一个函数来创建二叉树节点:

    struct TreeNode* createNode(int data) {struct TreeNode* newNode = (struct TreeNode*)malloc(sizeof(struct TreeNode));newNode->data = data;newNode->left = NULL;newNode->right = NULL;return newNode;}

    接着可以定义一个函数来插入节点到二叉树中:

    struct TreeNode* insertNode(struct TreeNode* root, int data) {if (root == NULL) {return createNode(data);}if (data < root->data) {root->left = insertNode(root->left, data);} else {root->right = insertNode(root->right, data);}return root;}

    最后可以定义递归函数来遍历二叉树,包括前序遍历、中序遍历和后序遍历:

    void preOrder(struct TreeNode* root) {if (root == NULL) return;printf("%d ", root->data);preOrder(root->left);preOrder(root->right);}void inOrder(struct TreeNode* root) {if (root == NULL) return;inOrder(root->left);printf("%d ", root->data);inOrder(root->right);}void postOrder(struct TreeNode* root) {if (root == NULL) return;postOrder(root->left);postOrder(root->right);printf("%d ", root->data);}

    使用这些函数,可以创建一个二叉树并进行遍历操作:

    int main() {struct TreeNode* root = NULL;root = insertNode(root, 5);insertNode(root, 3);insertNode(root, 8);insertNode(root, 2);insertNode(root, 4);insertNode(root, 7);insertNode(root, 9);printf("Preorder traversal: ");preOrder(root);printf("\n");printf("Inorder traversal: ");inOrder(root);printf("\n");printf("Postorder traversal: ");postOrder(root);printf("\n");return 0;}

    这样就可以创建一个二叉树并进行遍历操作。

    c语言二叉树怎么创建与遍历.docx

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

    推荐度:

    下载
    热门标签: c语言