首页 > 编程语言 > 详细

《数据结构与算法(C语言版)》严蔚敏 | 第四章课本案例

时间:2019-10-30 01:09:53      阅读:132      评论:0      收藏:0      [点我收藏+]
//二叉树的顺序存储表示 
#define MAXTSIZE 100
typedef TElemtype SqBiTree[MAXTSIZE];
SqBiTree bt;

//二叉树的二叉链表存储表示
typedef struct BiTNode
{
	TElemType data;
	struct BiTNode *lchild,*rchild;
	
}BiTNode,*BiTree;
 
 //中序遍历的递归算法
void InorderTraverse(BiTree T)
{
	if(T)
	{
		InOrderTraverse(T->lchild);
		cout<<T->data;
		InOrderTraverse(T->rchild);
	 }
} 

//中序遍历的非递归算法
void InOrderTraverse(BiTree T)
{
	InitStack(S);
	p=T;
	q=new BiTNode;
	while(p||!StackEmpty(S))
	{
		if(p)
		{
			Push(S,p);
			p=p->lchild;
		}
		else
		{
			Pop(S,q);
			cout<<q->data;
			p=q->rchild;
		}
	}
 } 
 
//先序遍历的顺序建立二叉链表
void CreateBiTree(BiTree &T)
{
	cin>>ch;
	if(ch==‘#‘) T=NULL;
	else
	{
		T=new BiTNode;
		T->data=ch;
		CreateBiTree(T->lchild);
		CreateBiTree(T->rchild);
	}
} 

  

《数据结构与算法(C语言版)》严蔚敏 | 第四章课本案例

原文:https://www.cnblogs.com/chrysanthemum/p/11762542.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!