基于二叉链表的二叉树的嵌套括号表示

Posted 井小普

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于二叉链表的二叉树的嵌套括号表示相关的知识,希望对你有一定的参考价值。

#include <iostream>
using namespace std;

//二叉树的数据结构定义
typedef struct node{
    char data;
    struct node *lchild,*rchild;
}BTNode,*BTREE;

void create(BTREE &T);
void match(BTREE T);

int main(int argc, const char * argv[]) {
    BTREE T;
    create(T);
    match(T);
    cout<<endl;
    return 0;
}

//先序遍历创建二叉树,输入0代表结点为空
void create(BTREE &T){
    char ch;
    cout <<"请输入"<<endl;
    cin>>ch;
    cout<<endl;
    if(ch==\'0\')
        T==NULL;
    else{
        T = new BTNode();
        //T = (BTREE)malloc(sizeof(BTNode));
        T->data = ch;
        create(T->lchild);
        create(T->rchild);
    }
    
}
//匹配规则
void match(BTREE T){
    if(T)
    {
        cout<<T->data;
        if(T->lchild&&T->rchild)
        {
            cout<<"(";
            match(T->lchild);
            cout<<",";
            match(T->rchild);
            cout<<")";
        }
        else if(T->lchild&&T->rchild==NULL)
        {
            cout<<"(";
            match(T->lchild);
            cout<<",";
            cout<<")";
        }
        else
            if(T->lchild==NULL&&T->rchild)
            {
                cout<<"(";
                cout<<",";
                match(T->rchild);
                cout<<")";
            }
    }
}

 

以上是关于基于二叉链表的二叉树的嵌套括号表示的主要内容,如果未能解决你的问题,请参考以下文章

数据结构 二叉树 用二叉链链表存储结构 写出删除二叉树所有的叶子节点的算法

二叉树与链表

以二叉链表为存储结构,写出求二叉树高度和宽度的算法

1、创建一棵二叉树,以二叉链表作存储结构,实现先根遍历算法 2、创建一棵二叉树,实现先根遍历算法、中根

建立二叉树的二叉链表表示,实现二叉树的先序、中序、后序和按层次遍历,统计并输出结点个数。

用C语言编写程序,创建一个二叉树的二叉链表结构,然后输出从根结点到所有叶子结点的路径。