二叉树
来源:互联网 发布:linux 查看snmp配置 编辑:程序博客网 时间:2024/06/09 19:19
二叉树示意图:
示例代码:
#include <stdlib.h>#include <stdio.h>typedef struct binary_tree{int data;struct binary_tree *left;struct binary_tree *right;}node;void insert(node **tree, int val) //数据插入{node *temp = NULL;if(!(*tree)){temp = (node *)malloc(sizeof(node));temp->left = temp->right = NULL;temp->data = val;*tree = temp;return;}if(val < (*tree)->data){insert(&(*tree)->left, val);}else if(val > (*tree)->data){insert(&(*tree)->right, val);}}void deltree(node *tree) // 删除树{if(tree){deltree(tree->left);deltree(tree->right);free(tree);}}void print_preorder(node *tree) // 前序{if(tree){printf("%d\n", tree->data);print_preorder(tree->left);print_preorder(tree->right);}}void print_inorder(node *tree) // 中序{if(tree){print_inorder(tree->left);printf("%d\n", tree->data);print_inorder(tree->right);}}void print_postorder(node *tree) // 后序{if(tree){print_postorder(tree->left);print_postorder(tree->right);printf("%d\n", tree->data);}}int main(int argc, char *argv[]){node *root;node *tmp;root = NULL;insert(&root, 9);insert(&root, 4);insert(&root, 15);insert(&root, 6);insert(&root, 12);insert(&root, 17);insert(&root, 2);printf("Pre Order Display\n");print_preorder(root);printf("In Order Display");print_inorder(root);printf("Post Order Display");print_postorder(root);deltree(root);return 0;}
结果:
Pre Order Display9426151217In Order Display2469121517Post Order Display2641217159
0 0
- 二叉树、二叉堆
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- leetcode 82. Remove Duplicates from Sorted List II
- 职工管理系统(list容器)
- Ajax学习笔记
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- openGL ES投影变换相关
- 二叉树
- 微信小程序的五大特征(二)
- 2017.2.11【初中部 GDKOI】模拟赛B组 摧毁巴士站(bus) 题解
- 面向对象的特征有哪些方面?
- JavaScript基础技巧44
- Callable,Runnable比较及用法
- 算法提高 8-1因式分解
- ajax提交的javascript代码
- javascript移动端选择器picker插件