赞
踩
一、上机实验的问题和要求:
建立一棵二叉树,并对其进行遍历(先序、中序、后序),打印输出遍历结果。
二、程序设计的基本思想,原理和算法描述:
首先创建一个二叉树BiTree,然后分别对二叉树进行先序遍历、中序遍历、后序遍历,最后得出结果并输出。
三、调试和运行程序过程中产生的问题及采取的措施:
调试程序时未发现错误
四、源程序及注释
- #include<iostream>
-
- using namespace std;
-
- typedef struct BiTNode
-
- {
-
- int data;
-
- struct BiTNode *lchild, *rchild;
-
- }BiTNode ,*BiTree;
-
- BiTree creatbitree()
-
- {
-
- BiTree T;
-
- int p;
-
- scanf( "%d",&p);
-
- if(p== 0)
-
- T= NULL;
-
- else
-
- {
-
- T=(BiTNode * )malloc( sizeof(BiTNode));
-
- T->data=p;
-
- T->lchild=creatbitree();
-
- T->rchild=creatbitree();
-
- }
-
- return T;
-
- }
-
- //先序遍历
-
- void preOrder(BiTree T)
-
- {
-
- if(T!= NULL)
-
- {
-
- printf( "%d ",T->data);
-
- preOrder(T->lchild);
-
- preOrder(T->rchild);
-
- }
-
- }
-
- //中序遍历
-
- void inOrder(BiTree T)
-
- {
-
- if(T!= NULL)
-
- {
-
-
-
- inOrder(T->lchild);
-
- printf( "%d ",T->data);
-
- inOrder(T->rchild);
-
- }
-
- }
-
- //后序遍历
-
- void postOrder(BiTree T)
-
- {
-
- if(T!= NULL)
-
- {
-
-
-
- postOrder(T->lchild);
-
- postOrder(T->rchild);
-
- printf( "%d ",T->data);
-
- }
-
- }
-
- int main()
-
- {
-
- BiTree P;
-
- P=creatbitree();
-
- printf( "先序遍历:\n");
-
- preOrder(P);
-
- printf( "\n中序遍历:\n");
-
- inOrder(P);
-
- printf( "\n后序遍历:\n");
-
- postOrder(P);
-
- printf( "\n");
-
-
-
- return 0;
-
- }
-
-
五、运行结果
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。