当前位置:网站首页>Binary tree traversal
Binary tree traversal
2022-06-30 07:09:00 【HL_ Aeolus】

Child representation :
typedef struct treeNode {
char data;
struct treeNode * lChild;
struct treeNode * rChild;
}treeNode,* pTreeNode;
Create a tree node
pTreeNode createTreeNode(char data)
{
pTreeNode p = new treeNode;
p->data = data;
p->lChild = nullptr;
p->rChild = nullptr;
return p;
}
Insert tree node
void insertTreeNode(pTreeNode parentNode,pTreeNode l,pTreeNode r)
{
if(parentNode != nullptr)
{
parentNode->lChild = l;
parentNode->rChild = r;
}
}
Print out current tree node data
void printfCurTreeNode(pTreeNode node)
{
if(nullptr != node)
{
O << node->data << " ";
}
}
Three traversal methods , Recursive implementation
// The former sequence traversal root Left Right
void preOrder(pTreeNode root)
{
if(nullptr != root)
{
printfCurTreeNode(root);
preOrder(root->lChild);
preOrder(root->rChild);
}
}
// In the sequence traversal Left root Right
void midOrder(pTreeNode root)
{
if(nullptr != root)
{
midOrder(root->lChild);
printfCurTreeNode(root);
midOrder(root->rChild);
}
}
// After the sequence traversal Left Right root
void lastOrder(pTreeNode root)
{
if(nullptr != root)
{
lastOrder(root->lChild);
lastOrder(root->rChild);
printfCurTreeNode(root);
}
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
pTreeNode A = createTreeNode('A');
pTreeNode B = createTreeNode('B');
pTreeNode C = createTreeNode('C');
pTreeNode D = createTreeNode('D');
pTreeNode E = createTreeNode('E');
pTreeNode F = createTreeNode('F');
pTreeNode G = createTreeNode('G');
insertTreeNode(A,B,C);
insertTreeNode(B,D,nullptr);
insertTreeNode(D,nullptr,G);
insertTreeNode(C,E,F);
O << "\n The former sequence traversal :\n";
preOrder(A);
O << " In the sequence traversal :\n";
midOrder(A);
O << "\ After the sequence traversal :\n";
lastOrder(A);
return 0;
}
Output effect :
边栏推荐
猜你喜欢

MySQL Optimization: from more than ten seconds to 300 milliseconds

2、 Layout system

QT common macro definitions

Mysql5.7 compressed version installation tutorial
![[docsify basic use]](/img/9d/db689f5f13708f3e241474afeca1d0.png)
[docsify basic use]

Xshell transfer file

六,购物⻋与订单

Calculation and parameter quantity of neural network

Linux服务器安装Redis

Win10 step pit - power on 0xc0000225
随机推荐
app quits unexpectedly
grep命令用法
[semidrive source code analysis] [x9 chip startup process] 34 - RTOS side display module SDM_ display_ Init display initialization source code analysis
June 29, 2022 -- take the first step with C # -- add decision logic to the code using the "if", "else" and "else if" statements in C #
6、 Shopping ⻋ and orders
Running lantern effect JS text rotation effect realization
Essence of signal slot macros signal and slot
社招两年半10个公司28轮面试面经
Egret P2 physical engine (1) small ball falling demo
[docsify basic use]
IDEA import导入的类明明存在,却飘红?
Pit stepping record: Supervisor log return information: redis extension is not installed
leetcode:98. 验证二叉搜索树
Idea shortcut key
Steps for formulating class or file templates in idea
Determine whether the picture is in JPG picture format
SOC_ AHB_ SD_ IF
【申博攻略】五.专家推荐信模板
MySQL优化:从十几秒优化到三百毫秒
Daemon and user threads