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

📄 习题4-二叉树左右子树交换.c

📁 数据结构各章实验源代码; 数据结构实验源代码
💻 C
字号:
#include "datastru.h"
#include <stdio.h>
#include <malloc.h>
#include "二叉树.c"

BTCHINALR *change(BTCHINALR *bt)
/*二叉树左右子树交换递归算法*/
{  BTCHINALR *p;

   if(bt!=NULL)
     if(bt->lchild!=NULL || bt->rchild!=NULL)
      {p=(BTCHINALR*)malloc(sizeof(BTCHINALR));
       p->data=bt->data;
       p->rchild=NULL;  
       p->lchild=bt->lchild;
       bt->lchild=bt->rchild;
       bt->rchild=p->lchild;
       bt->lchild=change(bt->lchild);
       bt->rchild=change(bt->rchild);
      }
    return bt;
}

void inorder(BTCHINALR *bt)
/*中序遍历二叉树(递归算法)*/
{if(bt != NULL)
	{	inorder(bt->lchild);
		printf("%c  ",bt->data);
		inorder(bt->rchild);	}
}

main()
{
  BTCHINALR *bt;

  bt=createbt();
  printf("\n 二叉树左右子树交换前中序遍历: ");
  inorder(bt);
  printf("\n");
  bt=change(bt);
  printf("\n 二叉树左右子树交换后中序遍历: ");
  inorder(bt);
  printf("\n");
}

⌨️ 快捷键说明

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