非线性结构之二叉树
来源:互联网 发布:芜湖生活频道 网络直播 编辑:程序博客网 时间:2024/05/17 08:18
二叉树的建立和遍历
#include<stdio.h>
#include<malloc.h>
#include<string.h>
typedef struct tree{
int data;
struct tree *leftNode;
struct tree *rightNode;
}tree;
tree * createTree();
void proTraversal(tree *root);
void InoTraversal(tree *root);
void posTraversal(tree *root);
int main()
{
tree *root;
root = createTree();
printf("先序遍历:\n");
proTraversal(root);
printf("中序遍历:\n");
InoTraversal(root);
printf("后序遍历:\n");
posTraversal(root);
return 0;
}
tree * createTree()
{
tree *root,*pn1,*pn2,*pn3,*pn4,*pn5,*pn6 = NULL;
//存储节点
root=(tree *)malloc(sizeof(tree));
root->data = 0;
pn1=(tree *)malloc(sizeof(tree));
pn1->data = 1;
pn2=(tree *)malloc(sizeof(tree));
pn2->data = 2;
pn3=(tree *)malloc(sizeof(tree));
pn3->data = 3;
pn4=(tree *)malloc(sizeof(tree));
pn4->data = 4;
pn5=(tree *)malloc(sizeof(tree));
pn5->data = 5;
pn6=(tree *)malloc(sizeof(tree));
pn6->data = 6;
//存储关系
root->leftNode = pn1;
root->rightNode = pn2;
pn1->leftNode = pn3;
pn1->rightNode = pn4;
pn2->leftNode = pn5;
pn2->rightNode = pn6;
pn3->leftNode = NULL;
pn3->rightNode = NULL;
pn4->leftNode = NULL;
pn4->rightNode = NULL;
pn5->leftNode = NULL;
pn5->rightNode = NULL;
pn6->leftNode = NULL;
pn6->rightNode = NULL;
//返回头节点
return root;
}
void proTraversal(tree *root)
{
if(root!=NULL)
{
printf("%d\n",root->data);
proTraversal(root->leftNode);
proTraversal(root->rightNode);
}
}
void InoTraversal(tree *root)
{
if(root!=NULL)
{
InoTraversal(root->leftNode);
printf("%d\n",root->data);
InoTraversal(root->rightNode);
}
}
void posTraversal(tree *root)
{
if(root!=NULL)
{
posTraversal(root->leftNode);
posTraversal(root->rightNode);
printf("%d\n",root->data);
}
}
- 非线性结构之二叉树
- 非线性结构之树
- 数据结构(二)非线性结构之二叉树
- 数据结构全攻略--攻破非线性结构堡垒之树和二叉树(一)
- 数据结构全攻略--攻破非线性结构的堡垒之树和二叉树(二)
- java数据结构-非线性结构之树
- 非线性结构-二叉树的三种实现
- 数据结构(三):非线性逻辑结构-二叉树
- 非线性数据结构 之 二叉搜索树(BST)
- 数据结构-非线性-树-二叉树
- 非线性结构——树
- 笔记之数据结构之非线性结构
- 数据结构(三):非线性逻辑结构-特殊的二叉树结构:堆、哈夫曼树、二叉搜索树、平衡二叉搜索树、红黑树、线索二叉树
- 非线性逻辑结构-特殊的二叉树结构:堆、哈夫曼树、二叉搜索树、平衡二叉搜索树、红黑树、线索二叉树
- 非线性数据结构——二叉树
- 数据结构(三):非线性逻辑结构-树
- 【数据结构】非线性结构---树(基本概念)
- 数据结构基础六-----之模块二《非线性结构==树的应用》
- leetcode系列(11)二叉树翻转 Invert Binary Tree
- poj 3268 Silver Cow Party
- 【2-3】Java 中的原生数据类型
- QTabWidget 双击增加tab页
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- 非线性结构之二叉树
- 【bzoj4033】 T1 树形dp
- 虚幻4蓝图:流程控制(一)
- leetcode 010 —— Regular Expression Matching(hard)
- [华为机试真题]72.操作系统任务调度问题
- 【Java】检查字符串s2是否为s1旋转而成
- Linux 挂载iscsi存储磁盘设备
- SpringMVC 使用JSR-303进行校验 @Valid
- OpenLayers3基础教程——OL3之Popup