資源簡介
#include"stdio.h"
#include"stdlib.h"
#define maxsize 255
typedef struct Binode
{
char data;
struct Binode *lchild;
struct Binode *rchild;
}Bitree;
代碼片段和文件信息
#include“stdio.h“
#include“stdlib.h“
#define?maxsize?255
typedef?struct?Binode
{
????char?data;
????struct?Binode?*lchild;
????struct?Binode?*rchild;
}Bitree;
Bitree?*Creatbitreepre(char?*str)
{
????Bitree?*bt*stack[maxsize]*p=NULL;
????int?top=-1kj=0;
????char?ch;
????bt=NULL;?ch=str[j];
????while(ch!=‘\0‘)
????{
????????switch(ch)
????????{
????????????case?‘(‘:{top++;stack[top]=p;k=1;break;}
????????????case?‘)‘:{top--;break;}
????????????case?‘‘:{k=2;break;}
????????????default:
????????????{
????????????????p=(Bitree?*)malloc(sizeof(Bitree));
????????????????p->data=ch;p->lchild=p->rchild=NULL;
????????????????if(bt==NULL)?bt=p;
????????????????else
????????????????{
????????????????????switch(k)
????????????????????{
????????????????????????case?1:stack[top]->lchild=p;break;
????????????????????????case?2:stack[top]->rchild=p;break;
????????????????????}
????????????????}
????????????}
????????}
????????j++;
????????ch=str[j];
????}
????return?bt;
}
void?Outbitree(Bitree?*bt)
{
????Bitree?*stack[maxsize]*p;
????int?level[maxsize][2]topniwidth=4;
????char?type;
????if(bt!=NULL)
????{
????????top=1;stack[top]=bt;
????????level[top][0]=width;level[top][1]=2;
????????while(top>0)
????????{
????????????p=stack[top];
????????????n=level[top][0];
????????????switch(l
- 上一篇:c++練習題2015
- 下一篇:視覺雙目測距
評論
共有 條評論