您当前的位置: 首页 >  光怪陆离的节日 c#

C#实现二叉树的先序遍历、中序遍历、后序遍历

光怪陆离的节日 发布时间:2022-06-27 16:54:42 ,浏览量:4

本文介绍C#实现二叉树的先序遍历、中序遍历、后序遍历
1、先序遍历
///
/// 先序遍历
///
///
static void PreOrder(BiTNode T) {
if (T!=null) {
visit(T);
PreOrder(T.lchild);
PreOrder(T.rchild);
}
2、中序遍历
///
/// 中序遍历
///
///
static void InOrder(BiTNode T)
{
if (T != null)
{

            InOrder(T.lchild);
            visit(T);
            InOrder(T.rchild);
        }

    }

3、后序遍历
///
/// 后序遍历
///
///
static void PostOrder(BiTNode T)
{
if (T != null)
{

            PostOrder(T.lchild);

            PostOrder(T.rchild);
            visit(T);
        }

    }

4、节点访问
///
/// 结点值的输出
///
static void visit(BiTNode T) {
Console.Write(T.data+" ");
}

测试的main函数如下
public const int MaxSize = 50;
static void Main(string[] args)
{
BiTNode T = new BiTNode() ;
int x=0;
//创建二叉树
T.data = 1;
T.lchild= new BiTNode();
T.lchild.data = 2;
T.rchild = new BiTNode();
T.rchild.data = 3;
T.lchild.rchild=new BiTNode();
T.lchild.rchild.data = 4;
T.lchild.rchild.lchild= new BiTNode();
T.lchild.rchild.lchild.data = 6;
T.rchild.rchild = new BiTNode();
T.rchild.rchild.data = 5;
Console.WriteLine(“先序遍历的值:”);
PreOrder(T);
Console.WriteLine();
Console.WriteLine(“中序遍历的值:”);
InOrder(T);
Console.WriteLine();
Console.WriteLine(“后序遍历的值:”);
PostOrder(T);
Console.WriteLine();
Console.WriteLine(“非递归中序遍历的值:”);
InOrder2(T);
Console.WriteLine();
Console.WriteLine(“层次遍历的值:”);
LevelOrder(T);
Console.ReadLine();

    }
关注
打赏
查看更多评论

光怪陆离的节日

暂无认证

  • 4浏览

    0关注

    916博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录