郎溪到南京南站汽车时刻表:树状输出二叉树

来源:百度文库 编辑:高校问答 时间:2024/05/01 16:36:10
求以树状形式输出二叉链表的算法,最好是c语言描述!
谢谢一楼同志,不过你所给的是先序输出二叉树,不是我所要的输出树状结构的。
A
B C
E F G H
I J K L M N O P
问题补充里无法把完美的树状结构表现出来,希望大家了解!上面的形式只是为了解释一下。

#include<iostream.h> #include<malloc.h> #include<stdio.h> struct BinTreeNode; typedef struct BinTreeNode * PBinTreeNode; struct BinTreeNode { char info; PBinTreeNode llink; PBinTreeNode rlink; }; PBinTreeNode createEmptyBinTree_link() { PBinTreeNode p; char x; cin>>x; if(x==' '||x=='z' ) { p=NULL; return NULL; } else { p=(PBinTreeNode)malloc(sizeof(BinTreeNode)); if(p==NULL) return NULL; else { p->info=x; p->llink=createEmptyBinTree_link(); p->rlink=createEmptyBinTree_link(); } } return(p); } void preOrder(PBinTreeNode p) { char x; if(p==NULL) return ; x=p->info; cout<<x; preOrder(p->llink); preOrder(p->rlink); } void main() { PBinTreeNode p; p=createEmptyBinTree_link(); preOrder(p); }