专栏名称: 二叉树(微博搜索)
目录
相关文章推荐
军武次位面  ·  老照片|2025年1月蒙古国正式恢复传统蒙文 ... ·  21 小时前  
军武次位面  ·  春节回乡观察:消费基建,正在重塑县城生活 ·  3 天前  
大庆晚报  ·  不要捡!不要捡!已有悲剧发生 ·  2 天前  
51好读  ›  专栏  ›  二叉树(微博搜索)

二叉树(微博搜索)-20230525-1

二叉树(微博搜索)  · 微博搜索  ·  · 2023-05-25 00:00

正文

本条微博地址 Lailalala
平衡二叉树和红黑树也太难了叭😑😑😑😑旋来旋去🤦♀️转来转去🫥
本条微博地址 眼久
给我画一个二叉树
本条微博地址 抱着月亮星星睡觉
晚上十点半的幸运咖和二叉树很配[发射爱心]
本条微博地址 -白桐叶-
#include
#include
#define MAX 50

typedef struct btnode
{
int Data;
struct btnode *Llink;
struct btnode *Rlink;
}btnode,*btreetype;

void OutputTree(btreetype &root)
{
btreetype p;
p=root->Llink;
printf("建立的二叉树的左子树为:");
while(p!=NULL)
{
printf("%d ",p->Data);
p=p->Llink;
}
p=root->Rlink;
printf("\n建立的二叉树的右子树为:");
while(p!=NULL)
{
printf("%d ",p->Data);
p=p->Rlink;
}
}

void PreOrder(btreetype &root)
{
btreetype p;
p=root;
if(p!=NULL)
{
printf("%d ",p->Data);
PreOrder(p->Llink);
PreOrder(p->Rlink);
}
}

void InOrder(btreetype &root)
{
btreetype p;
p=root;
if(p!=NULL)
{
InOrder(p->Llink);
printf("%d ",p->Data);
InOrder(p->Rlink);
}
}

void InOrder_Norecursion(btreetype &root)
{
btreetype stack[MAX];
btreetype p;
int top=0;
p=root;
do
{
while(p!=NULL)
{
top++;
stack[top]=p;
p=p->Llink;
}
if(top>0)
{
p=stack[top];
top--;
printf("%d ",p->Data);
p=p->Rlink;
}
}while(p!=NULL||top!=0);
}

void PostOrder(btreetype &root)
{
btreetype p;
p=root;
if(p!=NULL)
{
PreOrder(p->Llink);
PreOrder(p->Rlink);
printf("%d",p->Data);
}
}

btreetype CreateTree(int n)
{
int i;
btreetype root=NULL;
for(i=0;iData);
newNode->Llink=NULL;
newNode->Rlink=NULL;
currentNode=root;
if(currentNode==NULL) root=newNode;
else
{
while(currentNode!=NULL)
{
parentNode=currentNode;
if(newNode->DataData)
currentNode=currentNode->Llink;
else
currentNode=currentNode->Rlink;
}
if(newNode->DataData)
parentNode->Llink=newNode;
else
parentNode->Rlink=newNode;
}
}
return root;
}

int main()
{
btreetype btree;
int count;
printf("input the number of elements:\n");
scanf("%d",&count);
printf("input data(num=%d):\n",count);
btree=CreateTree(count);

printf("\n先序遍历建立的二叉树:");
PreOrder(btree);
printf("\n中序遍历建立的二叉树:(递归方式)");
InOrder(btree);
printf("\n中序遍历建立的二叉树:(非递归方式)");
InOrder_Norecursion(btree);
printf("\n后序遍历建立的二叉树:");






请到「今天看啥」查看全文