#include "LinkQueue.h"#include "LinkStack.h"int main() { TreeNodePtr BT; TreeNodePtr CreateBitree(); int BiTreeTranc(TreeNodePtr); printf("Input:\n"); BT= CreateBitree(); BiTreeTranc(BT); return 0; }TreeNodePtr CreateBitree(){ LinkQueue q; TreeNodePtr bt, p, R; char a, b, S; InitQueue(&q); bt=NULL; printf("请输入节点的双亲、节点及LR标记值:"); scanf("%c", &a); scanf("%c", &b); scanf("%c", &S); while (b!='#') { p= (TreeNodePtr)malloc(sizeof(TreeNodePtr)); p->data= b; p->Lch= NULL; p->Rch= NULL; if (a=='#') { bt= p; EnQueue(&q, p); } else { GetHead_Q(q, &R); while(R->data!= a) { DeQueue(&q, &R); GetHead_Q(q, &R); } if (S=='L') { R->Lch= p; } else { R->Rch= p; DeQueue(&q, &R); } EnQueue(&q, p); } printf("请输入节点的双亲、节点及LR标记值:"); scanf("%c", &a); while(a =='\n') scanf("%c", &a);; scanf("%c", &b); scanf("%c", &S); } return bt; } int BiTreeTranc(TreeNodePtr BT) { LinkStack S; TreeNodePtr p; printf("Output:\n"); printf("该二叉树的前序遍历结果为:"); InitStack(&S); ClearStack(&S); p=BT; while(1) { if (p==NULL) { if (StackIsEmpty(&S)) { printf("\n"); return 0; } else { Pop(&S, &p); p= p->Rch; } } else { printf("%c", p->data); Push(&S, p); p= p->Lch; } } }运行报错如下:doubletreef.cppe:\course\c++\doubletreef.cpp(1) : fatal error C1083: Cannot open include file: 'LinkQueue.h': No such file or directoryError executing cl.exe.doubletreef.obj - 1 error(s), 0 warning(s)求高手指点
- 1 回答
- 0 关注
- 1237 浏览
添加回答
举报
0/150
提交
取消