⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tree.h

📁 中序遍历输出二叉树 输出二叉树的叶子树 输出二叉树的节点数
💻 H
字号:
#include<iostream.h>
#include<strstrea.h>
#include<stdlib.h>

typedef char ElemType;

struct BTreeNode
{
	ElemType data;
	BTreeNode* left;
	BTreeNode* right;
};

void CreateBTree(BTreeNode*&BT,char *a)
{
	BTreeNode* s[20];
	int top=-1;
	BT=NULL;
	BTreeNode *p;
	int k;
	istrstream ins(a);
	char ch;
	ins>>ch;
	while(ch!='@')
	{
		switch(ch)
		{
		case'(':top++;s[top]=p;k=1;
			break;
		case')':top--;
			break;
		case',':
			k=2;
			break;
		default:
			p=new BTreeNode;
			p->data=ch;p->left=p->right=NULL;
			if(BT==NULL)
				BT=p;
			else
			{
				switch(k)
				{
				case 1:
					s[top]->left=p;
					break;
				case 2:
					s[top]->right=p;
				}
			}
		}ins>>ch;
	}
}




void fun(BTreeNode *BT,int &sum,int &leaves)
{
	if(BT!=NULL)
	{
		cout<<BT->data<<' ';
		sum++;
		if(BT->left==NULL&&BT->right==NULL)
			leaves++;
		fun(BT->left,sum,leaves);
		fun(BT->right,sum,leaves);	
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -