(1)输出二叉树b;
(2)输出H节点的左右孩子节点值;
(3)输出二叉树b的深度;
(4)输出二叉树b的宽度;
(5)输出二叉树b的节点个数;
(6)输出二叉树b的叶子节点个数。
代码
#include"iostream"
#include"queue"
#define maxsize 50
using namespace std;
class node{
private:
char data;
node* lchild;
node* rchild;
static int i;
static int m;
public:
void createnode(node *&,char *);
bool childnode(node *,char);
int nodeheight(node *);
int nodewidth(node *);
void displeaf(node *);
void disnode(node *);
int geti(){ return i; }//二叉树叶子节点个数
int getm(){ return m; }//二叉树节点个数
};
int node::i=0;
int node::m=0;
//建立二叉树
void node::createnode(node* &b,char* a){
node *st[maxsize],*p;
int top=-1,k,j=0;
char ch;
b=NULL;
ch=a[j];
while(ch!='\0')
{
switch(ch)
{
case '(