首页 > 其他分享 >144-9

144-9

时间:2023-10-11 21:15:34浏览次数:34  
标签:lchild PreOrder 144 CreateTree Tree printf rchild

链式存储的二叉树,交换左右结点位置

递归

#include <stdio.h>
#include <stdlib.h>

#define MaxSize 100

typedef struct node{
    int data;
    struct node *lchild,*rchild;
}TreeNode,*Tree;

void CreateTree(Tree &T)
{
    int x;
    scanf("%d",&x);
    if(x==-1)
    {
        T=NULL;
        return;    
    }
    else
    {
        T=(TreeNode*)malloc(sizeof(TreeNode));
        T->data=x;
        printf("输入%d的左结点:",x);
        CreateTree(T->lchild);
        printf("输入%d的右结点:",x);
        CreateTree(T->rchild);
    }
}

void PreOrder(Tree T)        //先序遍历 
{
    if(T!=NULL)
    {
        printf("%d  ",T->data);
        PreOrder(T->lchild);
        PreOrder(T->rchild);
    }
}

void Swap(Tree &T)
{
    if(T==NULL)
        return;
    TreeNode *p=T->lchild;
    T->lchild=T->rchild;
    T->rchild=p;
    Swap(T->lchild);
    Swap(T->rchild);
}

int main()
{
    Tree T;
    CreateTree(T);
    PreOrder(T);
    printf("\n");
    Swap(T);
    PreOrder(T);
    printf("\n");
    return 0;
}

 

标签:lchild,PreOrder,144,CreateTree,Tree,printf,rchild
From: https://www.cnblogs.com/simpleset/p/17758177.html

相关文章

  • CS144-lab3
    Checkpoint3Writeup该lab主要实现TCP发送方,细节比较多,具有一定难度,编写时需要从整体上理清设计思路,然后再实现具体的函数。Timer由于要实现TCP中的超时重传功能,所以需要在发送方维护一个定时器,但不需要自己使用计时函数,因为文档里说明了所有对时间的了解都是通过tick函数得到......
  • CS144-lab1
    Checkpoint1Writeup该lab要根据首字母索引来对收到的字符串进行重组,还原为原始数据(字符串可能乱序到达,可能有重叠)思路是将按顺序并小于可用容量的字符串(可能是部分子串)直接推流到输出流,将失序但在可用容量内的字符串放入本地buffer。考虑到最好用首字符索引对收到的字符......
  • CS144-lab0
    Checkpoint0Writeup该lab要实现一个字节流,兼具写入和读出的能力,并且buffer空间受限。根据要实现的函数和读写功能,内部要存储的成员为std::queue<std::string>buffer_{};用于存储写入的字符串(原本用的std::queue,但由于queue内存不连续,调用peek返回string_view时还要将cha......
  • FMC144 -八路 250MSPS 14bit AD FMC子卡
    一、板卡概述 FMC144是一款具有8通道模数转换器(ADC)的FMC卡,具有14bit分辨率,最大采样速率达250Msps。时钟配置芯片为AD9516-1,可由板载10MHz时钟提供参考,也可由外部时钟提供。FMC144采用HPC连接器,输入信号为差分对信号。FMC144基于ADS62P49,具有低功耗和高动态性能,适合于多载......
  • CS144-lab4
    Checkpoint4Writeup报文头格式IPV4头/**+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+*|Version|IHL|TypeofService|TotalLength|*+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+*|......
  • 1449元起 美商海盗船统治者泰坦DDR5内存上架:6000-7200MHz可选
    美商海盗船(Corsair)推出了统治者泰坦DDR5内存,频率可选6000-7200MHz,首发1449元起。据介绍,统治者泰坦DDR5内存有着简洁、优雅的造型,采用了锻造铝结构,并得到美商海盗船荣获专利的DHX散热技术的支持,提升了超频潜力。同时,内存顶部的LED灯条有着11颗可单独寻址的RGBLED灯,通过iCUEMur......
  • P1144 最短路计数 题解
    Problem考察算法:拓扑排序+\(DP\)+\(Dijkstra\)。题目简述给出一个无向无权图,问从顶点\(1\)开始,到其他每个点的最短路有几条。思路先求出\(1\)号点到每个点的最短路\(d_i\)。分析每条边$(x,y)$:如果d[x]+1==d[y]:这条边有用。将所有有用的边拓扑排序......
  • The solution of ABC144F
    都不知道什么时候做的题了problem&blog一开始很容易想到枚举断边然后DP算代价。于是很容易想到DP状态定义:设\(dp_u\)为从\(u\)出发到\(n\)的期望步数。那么显然有\(dp_u=\sum^{v_n}_{v_1}\dfrac{dp_{v_{i}}}{d_u}\),其中\(d_u\)为\(u\)的出度。如果选择......
  • Go每日一库之144:go-obs-websocket(OBS连接器)
    推荐理由互联网的兴起带动了直播行业的火热,除了少数直播网站有自己的推流工具之外,OBS是主流的推流工具,广泛应用在直转播技术之上。简介go-obs-websocket是一个与OBS进行websocket通信的连接库,具备调用大部分OBS功能的接口,在互动直播和智能转播技术上广泛应用。快速开始安装g......
  • P3147 [USACO16OPEN] 262144 P
    Link这个题有一个很特殊的点,就是最大值不会超过28,可以想一下最多可以合并多少次。那么常规的区间dp是不能使用的,就要采用特殊的形式,因为很难的确定应该怎么转移,那么就换一种思路,转移的对象变成另外一个端点。\(dp_{i,j}\)表示\(i\)在左边,达到\(j\)的话的右端点位置\(dp_{i,j......