一、Java
1.TreeNode类
package com.company;
public class TreeNode {
int value;
TreeNode Left;
TreeNode Right;
TreeNode (int value)
{
this.value = value;
}
}
2.Main
package com.company;
public class Main {
public static void midOrderRe(TreeNode biTree)
{
if(biTree == null)
return;
//这里打印位置在前,就是前序遍历,在后就是后序,这里是中路序
midOrderRe(biTree.Left);
System.out.println(biTree.value);
midOrderRe(biTree.Right);
}
public static void main(String[] args) {
TreeNode[] treeNode = new TreeNode[11];
for(int i=1;i<11;i++)
{
treeNode[i] = new TreeNode(i);
}
for(int i = 1;i<11;i++)
{
if(i*2<11)
{
treeNode[i].Left = treeNode[i*2];
}
if(i*2+1<11)
{
treeNode[i].Right = treeNode[i*2+1];
}
}
midOrderRe(treeNode[1]);
}
}
二、C#
TreeNode
using System;
using System.Collections.Generic;
using System.Text;
namespace Mid
{
public class TreeNode
{
public int value { get; set; }
public TreeNode Left { get; set; }
public TreeNode Right { get; set; }
public TreeNode (int value)
{
this.value = value;
}
}
}
Main
using System;
namespace Mid
{
class Program
{
public static void MidFun(TreeNode treeNode)
{
if(treeNode == null)
{
return;
}
MidFun(treeNode.Left);
Console.WriteLine(treeNode.value);
MidFun(treeNode.Right);
}
static void Main(string[] args)
{
TreeNode[] treeNode = new TreeNode[11];
for (int i = 1; i < 11; i++)
{
treeNode[i]= new TreeNode(i);
}
for(int i=1;i<11;i++)
{
if(i*2<11)
{
treeNode[i].Left = treeNode[i * 2];
}
if(i*2+1<11)
{
treeNode[i].Right = treeNode[i * 2+1];
}
}
MidFun(treeNode[1]);
}
}
}