数据结构——二叉树的实现
来源:互联网 发布:2016年1月非农数据 编辑:程序博客网 时间:2024/04/30 05:52
开始记录关于实现二叉树的代码及疑问
目前尝试成功的部分代码:
// SJJG_SY4.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "malloc.h"//定义返回值#define OK 1#define TURE 1#define ERROR 0#define FALSE 0//定义树的数据类型#define NodeType chartypedef struct TreeNode{ NodeType data; //结点的数值域 TreeNode *Lchild; //结点的左孩子 TreeNode *Rchild; //结点的右孩子}TreeNode,*treenode; //不带参的create函数treenode CreateTree() //正序创建树,无传入参数,返回值为一个结点{ treenode t; t=(treenode)malloc(sizeof(TreeNode)); //动态分配空间 char s; s=getchar(); //读取一个字符 if (s=='0') t=NULL; //如果为0,则当前结点为空(递归) else { t->data=s; //将s的值赋给当前结点 t->Lchild=CreateTree(); //创建t的左孩子,进入递归 t->Rchild=CreateTree(); //创建t的右孩子,进入递归 } return t; //返回新结点t }//正序输出函数int InOrder(treenode node){ treenode t=node; //将参数node的值赋给t if (t==NULL) return OK; //如果t为NULL,则已完全遍历一棵树的枝干,返回OK(递归) else { printf("%c ",t->data); //输出该结点的值 InOrder(t->Lchild); //进入t结点的左孩子,开始递归 InOrder(t->Rchild); //进入t结点的右孩子,开始递归 } return OK; //整棵树输出完毕,返回OK}int main(int argc, char* argv[]){ treenode node; //创建一个treenode类型的指针node node=CreateTree(); //正序创建以node为根结点的树 InOrder(node); //正序输出以node为跟结点的树 return OK;}
此前写了一个带参数的CreateTree函数,但是实际运行中却没有达到应有的效果,在次贴上代码:
//带参的Create函数int CreateTree(treenode node){ treenode t; t=(treenode)malloc(sizeof(TreeNode)); char s; s=getchar(); if (s=='0') {t=NULL; return OK;} else t->data=s; CreateTree(t->Lchild); CreateTree(t->Rchild); node=t; putchar(node->data); return OK;}//正序输出函数int InOrder(treenode node){ treenode t=node; if (t==NULL) return OK; else { printf("%c ",t->data); InOrder(t->Lchild); InOrder(t->Rchild); } return OK;}
0 0
- 数据结构——二叉树的实现
- 数据结构的Java实现——二叉树
- 数据结构——二叉搜索树(BinarySearchTree)的实现
- 数据结构——平衡二叉搜索树(AvlTree)的实现
- 数据结构——二叉查找树的详细实现(c++)
- 数据结构 — 二叉树的基本操作(递归实现)
- 数据结构 — 二叉树的基本操作实现(递归算法)
- 【数据结构】 二叉树的实现
- 【数据结构】二叉树的实现
- <数据结构>二叉树的实现
- 二叉树的实现数据结构
- 数据结构C++实现——二叉树
- C语言数据结构——数据结构有序二叉树的函数实现
- 数据结构—二叉树
- 数据结构-二叉树实现
- 数据结构 二叉树实现
- 二叉树数据结构实现
- 数据结构——二叉树的遍历
- poj 2362 Square
- stm32f10x.h 是库3.0以后的; stm32f10x_lib.h 这个是库2.0的吧 哎,打开看看不就知道了啊!
- 二叉排序树C++构造
- 转义字符及其意义
- 使用BaseAdapter实现ListView
- 数据结构——二叉树的实现
- html头部
- 大话设计模式之模板方法模式(Java版实现)考生做试卷问题
- java跳出多重循环
- 如何让你的开发团队成为虎狼之师?
- IOS动态创建控件通过tag处理单击事件
- stack
- 山重水复疑无路
- 转ecshop验证码错误问题