#include <stdio.h> #include <stdlib.h>

// 二叉树结点的结构体 typedef struct TreeNode { int data; struct TreeNode* left; struct TreeNode* right; } TreeNode;

// 创建一个新结点 TreeNode* createNode(int data) { TreeNode* newNode = (TreeNode*)malloc(sizeof(TreeNode)); newNode->data = data; newNode->left = NULL; newNode->right = NULL; return newNode; }

// 插入一个结点 void insertNode(TreeNode** root, int data) { if (*root == NULL) { *root = createNode(data); return; } if (data < (*root)->data) { insertNode(&((*root)->left), data); } else { insertNode(&((*root)->right), data); } }

// 遍历二叉树(先序遍历) void traverseTree(TreeNode* root) { if (root == NULL) { return; } printf("%d ", root->data); traverseTree(root->left); traverseTree(root->right); }

int main() { TreeNode* root = NULL; insertNode(&root, 5); insertNode(&root, 3); insertNode(&root, 7); insertNode(&root, 1); insertNode(&root, 9); traverseTree(root); return 0; }

C语言实现二叉树数据结构

原文地址: https://www.cveoy.top/t/topic/kU0Y 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录