标签:style blog class code java color
#include<stdio.h> #include<malloc.h> typedef struct node { int data; struct node *lchild,*rchild; }; node * create()//先序建立二叉树,根左右 { int x=0; node *t; printf(" input data:"); scanf("%d",&x); if(x==0) t=NULL; else { t=(node *)malloc(sizeof(node)); t->data=x; t->lchild=create(); t->rchild=create(); } return t; } void preorder(node *root) //先序遍历二叉树 { if(root!=NULL) printf("%d ",root->data); else return; preorder(root->lchild); preorder(root->rchild); } void inorder(node *root) { if(root==NULL) return; else { inorder(root->lchild); printf("%d ",root->data); inorder(root->rchild); } } void postorder(node *root)//后序遍历二叉树 { if(root==NULL) return; else { postorder(root->lchild); postorder(root->rchild); printf("%d ",root->data); } } int CompTree(node* tree1,node* tree2)//比较两棵二叉树,相同返回1;否则返回2 { if(tree1 == NULL && tree2 == NULL)//两棵树都为空的情况,判定为相等 return 1; if(tree1 != NULL && tree2 != NULL)// { if(tree1->data == tree2->data)//两种情况都要考虑 { if(CompTree(tree1->lchild, tree2->lchild) && CompTree(tree1->rchild, tree2->rchild) || CompTree(tree1->rchild, tree2->lchild) && CompTree(tree1->lchild, tree2->rchild)) { return 1; } } } return 0; } void main() { node *root1=create(); node *root2=create(); preorder(root1); printf("\n"); inorder(root1); printf("\n"); postorder(root1); printf("\n"); preorder(root2); printf("\n"); inorder(root2); printf("\n"); postorder(root2); printf("\n"); if(CompTree(root1,root2)) printf("两棵树相同\n"); else printf("两棵树不相同\n"); }
原因是:纯虚函数是没有定义的,没有定义的类是不可实例化一个对象的。
20140510 二叉树的建立 先序 后序 中序 比较,布布扣,bubuko.com
标签:style blog class code java color
原文地址:http://www.cnblogs.com/yexuannan/p/3721049.html