#include <iostream>
#define MAXSIZE 100
using namespace std;
typedef char TElemType;
typedef struct BiTNode {
TElemType data;
struct BiTNode *lchild,*rchild;
} BiTNode,*BiTree;
void InOrderTraverse1(BiTree T) {
//先序遍历
if(T) {
cout<<T->data;
InOrderTraverse1(T->lchild);
InOrderTraverse1(T->rchild);
}
}
void InOrderTraverse2(BiTree T) {
//中序遍历
if(T) {
InOrderTraverse2(T->lchild);
cout<<T->data;
InOrderTraverse2(T->rchild);
}
}
void InOrderTraverse3(BiTree T) {
//后序遍历
if(T) {
InOrderTraverse3(T->lchild);
InOrderTraverse3(T->rchild);
cout<<T->data;
}
}
void CreateBiTree(BiTree &T) {
//先序
char ch;
cin>>ch;
if(ch=='#')
T=NULL;
else {
T=new BiTNode;
T->data=ch;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
}
int Depth(BiTree T) {
int n,m;
if(T==NULL)
return 0;
else {
m=Depth(T->lchild);
n=Depth(T->rchild);
if(m>n)
return(m+1);
else
return(n+1);
}
}
int NodeCount(BiTree T) {
if(T==NULL)
return 0;
else
return NodeCount(T->lchild)+NodeCount(T->rchild)+1;
}
int main()
{
BiTree a;
int height,num;
cout<<"请输入二叉树的元素!\n";
CreateBiTree(a);
cout<<"按先序遍历法输出该二叉树的元素为:\n";
InOrderTraverse1(a);
cout<<"\n按中序遍历法输出该二叉树的元素为:\n";
InOrderTraverse2(a);
cout<<"\n按后序遍历法输出该二叉树的元素为:\n";
InOrderTraverse3(a);
height=Depth(a);
num=NodeCount(a);
cout<<"\n该二叉树高度为:";
cout<<height<<endl;
cout<<"该二叉树结点数为:";
cout<<num;
return 0;
}
输入:
输出:
一、MyBatis的Cache配置 1、全局开关:默认是true,如果它配成false,其余各个Mapper XML文件配成支持cache也没用。 <settings> <setting name="cacheEnabled" value="true"/> </s...
JavaCV入门指南系列:JavaCV入门指南:序章JavaCV入门指南:调用FFmpeg原生API和JavaCV是如何封装了FFmpeg的音视频操作JavaCV入门指南:帧抓取器(FrameGrabber)的原理与应用JavaCV入门指南:帧录制器/推流器(FrameRecorder)的原理与应用目录前言FrameRecorder(录制器/推流器)介绍FrameRecorder的结构和分析两个FrameRecorder实现类的介绍FrameRecorder的结构.
1. 概述1.1 什么是java语言java是1995年美国SUN公司推出的高级编程语言, 2009年SUN公司被甲骨文公司收购.1.2 java跨平台这里我们重点介绍几个名词:JVM (Java Virtual Matchine) : java虚拟机, 简称JVM, 我们编写的java源代码编译后计算机是如何运行的? 就是在计算机的操作系统上安装了JVM, java源代码编译后在JV...
Get-LocalGroupModule:Microsoft.PowerShell.LocalAccountsGets the local security groups.SyntaxPowerShellCopyGet-LocalGroup [[-Name] <String[]>] [<CommonParameters>]PowerShellCopyGet-LocalGroup [[-SID] <SecurityIdenti
第三方平台创建的时候填写了如下参数:第三方平台创建成功后,微信会定时每隔10分钟发送一次ComponentVerifyTicket,只需要在“授权事件接收URL”对应的方法里接收就行(发送的是post请求)。具体接收python代码参考如下:#微信每隔10分钟推送一次class WxOpenCallbackHandler(tornado.web.RequestHandler): def ...
前几天把VIVI和U-BOOT移植成功后,就进入了主要的学习环节,LINUX的移植,从www.kernel.org下载2.6.19.tar.bz2,解压:#tar jxvf 2.6.19.tar.bz2 1、修改内核顶层目录的Makefile,找到ARCH和CROSS_COMPILE的地方,修改为 ARCH ?= arm CROSS_COM
opncvtest.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include using namespace std; using namespace cv; int _tmain(int argc, _TCHAR* argv[]) { co
Linux 服务管理两种方式service和systemctlCentOS7中systemctl的使用与CentOS6中service的区别
anaconda是python 和 R的集成开发环境anaconda 的下载(此步不谈)加速清华现在好像不支持(不确定)中大的# 加速condaconda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/conda config --set show_channel_urls yes123我认为不用新建虚拟环...
position有四个参数:static | relative | absolute | fixedposition:static,意味元素没有被定位,元素会出现在文档本该出现位置,是页面元素默认的定位的方式,一般无需指定,除非想要覆盖之前设置的定位,一旦position:relative,很明白,相对元素本该位置的偏移量
1.mbedtls简介 ARM mbedtls使开发人员可以非常轻松地在(嵌入式产品中加入加密和 SSL/TLS 功能。它提供了具有直观的 API 和可读源代码的 SSL 库。该工具即开即用,可以在大部分系统上直接构建它,也可以手动选择和配置各项功能。 mbedtls 库提供了一组可单独使用和编译的加密组件,还可以使用单个配置头文件加入或排除这些组件。从功能角...
用心写好每一篇文章效果图一、题目背景本题是Scratch编程问题,出现在第十届蓝桥杯省赛中。二、编程实现老师给小猫出了一道题:在列表1中生成5个在1~99范围内的随机整数﹐然后按照从大到小的顺序将它们依次移到列表2中。例如:在列表1中随机生成的整数依次是"12,3,1,13,17”,在处理之后列表2中的整数依次是“17,13,12,3,1”。1、每次点击绿旗后﹐在屏幕中都显示如图-1所示的列表1和列表2,且在列表1中随机生成5个在1~99范围内的随机整数﹐而列表2中内容为空。然后小猫.