• 大小: 2.60KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-02-01
  • 标签:

资源简介

二叉树基本运算

资源截图

代码片段和文件信息

#include
#include
#define MaxSize 100
typedef char ElemType;
typedef struct node
{
ElemType data;
struct node* lchild;
struct node* rchild;
}BTNode;


void CreateBTree(BTNode*& bchar *str)     //创建二叉树 
{
BTNode* St[MaxSize]*p;
int ktop = -1j = 0;
char ch = str[j];
while(str[j] != ‘\0‘)
{
switch(ch)
{
case ‘(‘:top++;k = 1;St[top] = p;break;
case ‘)‘:top--;break;
case ‘‘:k = 2;break;
default :p = (BTNode*)malloc(sizeof(BTNode));
         p->data = ch;
         p->lchild = NULL;p->rchild = NULL;
         if(b == NULL)
             b = p;
        else
        {
         switch(k)
         {
         case 1:St[top]->lchild = p;break;
         case 2:St[top]->rchild = p;break;
}
}           
}
j++;ch = str[j];
}
}


void DestroyBTree(BTNode*& b) //销毁二叉树 
{
if(b != NULL)
{
DestroyBTree(b->lchild);
DestroyBTree(b->rchild);
free(b);
}
}



评论

共有 条评论