博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二叉树的链表存储与遍历
阅读量:5069 次
发布时间:2019-06-12

本文共 1408 字,大约阅读时间需要 4 分钟。

终于进入了二叉树的学习章节,二叉树的存储结构包括数组存储和链表存储,我主要介绍链表存储,数组存储也是类似的。


#include
#include
typedef struct tree{ int data; struct tree *left; struct tree *right;}*pnode,node;pnode createbinary(int a[],int n,pnode p);pnode insertNode(int data,pnode root);void print(pnode root);void main(){ int a[9] = {
6,3,8,5,2,9,4,7,11}; pnode root = NULL; root = createbinary(a,9,root); print(root); free(root);}pnode createbinary(int a[],int n,pnode root)//数组的值插入到链表中{ for(int i=0; i
data = value; newnode->left = NULL; newnode->right = NULL; if(root == NULL)//第一插入 { root = newnode; } else { currentnode = root; while(currentnode != NULL)//currentnode为最后那个子节点,这个循环负责找到插入的位置 { parentnode = currentnode;//parentnode为最后那个子节点的父节点 if(currentnode->data > value) currentnode = currentnode->left; else currentnode = currentnode->right; } if(parentnode->data > value)//这个负责在找到的位置插入节点 { parentnode->left = newnode; } else { parentnode->right = newnode; } } return root;}void print(pnode root)//后序遍历{ if(root != NULL) { print(root->left); print(root->right); printf("%d\t",root->data); }}

转载于:https://www.cnblogs.com/qukingblog/p/7475319.html

你可能感兴趣的文章
ajax
查看>>
poj1981 Circle and Points 单位圆覆盖问题
查看>>
POP的Stroke动画
查看>>
线程同步机制初识 【转载】
查看>>
Oracle 游标使用全解
查看>>
SQL语句在查询分析器中可以执行,代码中不能执行
查看>>
yii 1.x 添加 rules 验证url数组
查看>>
html+css 布局篇
查看>>
序列化和反序列化(1)---[Serializable]
查看>>
SQL优化
查看>>
用C语言操纵Mysql
查看>>
轻松学MVC4.0–6 MVC的执行流程
查看>>
redis集群如何清理前缀相同的key
查看>>
Python 集合(Set)、字典(Dictionary)
查看>>
获取元素
查看>>
proxy写监听方法,实现响应式
查看>>
前端工具----iconfont
查看>>
Azure Site Recovery 通过一键式流程将虚拟机故障转移至 Azure虚拟机
查看>>
Hello China操作系统STM32移植指南(一)
查看>>
cocos2dx CCEditBox
查看>>