#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 關注
- 1271 瀏覽
添加回答
舉報
0/150
提交
取消