交换二叉树中每个结点的左孩子和右孩子~2020.8.13~学习笔记
发布日期:2021-05-10 13:33:57 浏览次数:12 分类:精选文章

本文共 2373 字,大约阅读时间需要 7 分钟。

���������������������������

������������

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

������������

������������������������������������������������������������������

  • ������������������������������������������������������
  • ������������������������������������������������������������������������
  • ���������������������������������������
  • ������������

    ���������������������������

    ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

    #include 
    using namespace std;struct node { char data; node* lchild; node* rchild;};void SetBiTree(node* &t) { char c; cin >> c; if (c == '#') { t = NULL; } else { t = new node; t->data = c; SetBiTree(t->lchild); SetBiTree(t->rchild); }}

    ������������������������������

    ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

    void change(node* &t) {    if (t->lchild == NULL && t->rchild == NULL) {        return;    }    // ������������������������    node* temp = t->lchild;    t->lchild = t->rchild;    t->rchild = temp;    // ������������������    if (t->lchild != NULL) {        change(t->lchild);    }    if (t->rchild != NULL) {        change(t->rchild);    }}

    ������������������������

    ������������������������������������������������������������������������������������������������������������������������������������������������������������������

    void Traverse(node* t) {    if (t == NULL) {        return;    }    // ������������������    Traverse(t->lchild);    // ���������������������    cout << t->data;    // ������������������    Traverse(t->rchild);}

    ������������

    ���������ABC##DE#G##F###

    ������������������������������������

    A    /   \   B     C  / D    \     E      \       G        \         F        /

    ���������������������������������

    A    /   \   C     BD       E       /      G     /    F

    ������������

    ���������������������������������������B A D C E G F A

    ���������������������������������������������C B D A E G F A���

    上一篇:大话数据结构——二叉排序树的删除操作~2020.8.15
    下一篇:最大子列和问题~2020.8.12~学习笔记

    发表评论

    最新留言

    感谢大佬
    [***.8.128.20]2025年04月23日 02时00分36秒