二叉树的链表表示法实现
来源:互联网 发布:telnet端口开启 编辑:程序博客网 时间:2024/03/28 17:55
本程序实际上是构建了一颗二叉排序树,程序最后输出构建数的中序遍历。
代码实现:
#include <stdio.h>#include <stdlib.h> typedef int DataType; typedef struct BTree{DataType data;struct BTree *Tleft;struct BTree *Tright;}*BTree;BTree CreateTree(); BTree insert(BTree root, DataType data);void InBTree(BTree root); int main(){BTree root = NULL;root = CreateTree();InBTree(root); printf("\n"); return 0; }BTree CreateTree(){BTree root = NULL;DataType temp = 0;printf("Input data, if you want to exit, please input 0:\n"); scanf("%d", &temp); while(temp != 0){ root = insert(root, temp);scanf("%d", &temp); }return root; } BTree insert(BTree root, DataType data){BTree ptr = root;BTree tempNode; BTree newNode = (BTree)malloc(sizeof(struct BTree)); newNode->data = data ;newNode->Tleft = NULL;newNode->Tright = NULL;if(ptr == NULL){return newNode; }else{while(ptr != NULL){tempNode = ptr; if(ptr->data >= data){ptr = ptr->Tleft; }else{ptr = ptr->Tright; } } if(tempNode->data >= data){tempNode->Tleft = newNode; }else{tempNode->Tright = newNode; } }return root; }void InBTree(BTree root){if(root != NULL){InBTree(root->Tleft); printf("%d ", root->data); InBTree(root->Tright);} }
程序的输出如下:
- 二叉树的链表表示法实现
- 二叉树的二叉链表表示与实现
- 二叉树的二叉链表表示与实现
- 二叉树的二叉链表表示与实现
- 二叉树的二叉链表表示与实现
- 二叉树的二叉链表表示和实现
- 二叉树的二叉链表表示与实现
- 二叉树的链表表示 C++实现
- 二叉树链表表示法
- 二叉树链表表示
- 小程序-----链表表示二叉树
- 静态链表表示二叉树
- 数据结构——二叉树的孩子链表表示法
- 二叉树的查找、二叉树高度、二叉树获得双亲结点、构造二叉树、二叉树的广义表表示法、二叉树的插入删除、二叉树的非递归实现
- 广义表表示二叉树结构生成二叉链表的算法
- 树的儿子链表表示法
- 树的孩子链表表示法
- C++实现稀疏矩阵的十字链表表示法
- SQL Server 2008常用命令
- 搬家-从百度搬到csdn
- unity3D---3Dmaxs给带骨骼蒙皮的模型绑定bip
- 顺序表的增,删,改,查
- 苹果公司现任首席执行官蒂姆·库克
- 二叉树的链表表示法实现
- 2009.07.26_小娃崽_VMP 之反 VM (还原代码) 之初初
- FB工程师成立Presence公司 推物联网技术
- MikroTik RouterOS应用事例讲解(一)
- 请问用ADO连接远程数据库的连接字符串是什么(转载)
- 20120502学习总结
- unity3d简单的音乐播放器
- 关于UNIX和Linux系统下SUID、SGID的解析
- vimtutor