二叉树————按数据大小顺序打印

这篇博客主要介绍了如何使用C++实现二叉树的中序遍历,通过中序遍历按照数据大小顺序打印节点。首先定义了一个结构体`SNode`表示二叉树节点,并提供了插入节点的`SetAt`函数以及中序遍历的`PriOrder`函数。示例代码展示了创建一棵二叉树并进行中序遍历的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <iostream>
using namespace std;
typedef int DATA;
struct SNode //除根结点之外的节点
{
DATA data;
SNode* pRight,*pLeft;
public:
 SNode(DATA data):data(data)
 {
 pRight=pLeft=NULL;
 }
};
SNode* g_pRoot=NULL;//在全局区定义一个跟节点

void PriOrder(SNode* p)//中序遍历函数,,,左根右
{if(p->pLeft){PriOrder(p->pLeft);}
 cout<<p->data<<endl;
 getchar();
if(p->pRight){PriOrder(p->pRight);}
}

void SetAt(DATA data)
{
 SNode* pNew=new SNode(data);
 SNode* p=g_pRoot;
 while(data!=p->data)//数据大小不同于根节点数据大小,,,进入循环
 {
  if(data<p->data)//小于根节点的数据放在左边
  {
   if(!p->pLeft)//左边为空,直接放在左边
    p->
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值