练习--链式二叉树

来源:互联网 发布:什么是算法设计 编辑:程序博客网 时间:2024/05/22 17:45

内容建立二叉树

先根序遍历

 

#include <stdlib.h>#include <iostream>using namespace std;#define OK    1#define ERROR 0typedef struct BiNode {int    data;BiNode *lchild,*rchild;}BiNode,*BiTree;bool creatTree(BiTree &T) {int data;cin >> data;if(data == 0 ) T = NULL;else {if(!(T = (BiTree)malloc(sizeof(BiNode))))return ERROR;T ->data = data;creatTree(T ->lchild);creatTree(T ->rchild);}return OK;}bool visitTree(BiTree T) {cout << T ->data << ",";return OK;}bool orderTree(BiTree T) {if(T) {if(visitTree(T)) {if(orderTree(T ->lchild)) {if(orderTree(T ->rchild)) return OK;}}}return OK;}bool main() {BiTree T;creatTree(T);orderTree(T);free(T);T ->lchild = NULL;T ->rchild = NULL;while(OK);return OK;}

执行结果图:


原创粉丝点击