可能編譯時會有些語法小錯誤(比如分號,->,等),很容易就自己糾正了哦,思路絕對是完全正確的,所以用的話就自己試著改改吧,直接復制粘貼,就正確,豈不是太沒寫代碼體驗了,自己改改才印象更加深刻的呢(▽)~~~~;
//樹的線索化中序
#include<iostream>
using namespace std;
typedef struct BiThrNode{
char data;
struct BiThrNode *lchild,*rchlild;
int LTag,RTag;
}BiThrNode,*BiThrTree;
BiThrNode *pre = new BiThrNode;
void CreateBiTree(BiThrNode &T){
char ch;
cin>>ch;
if(ch=='#') T=NULL;
else{
T=new BiThrNode;
T->data=https://www.cnblogs.com/ygjzs/p/ch;
CreateBiTree(T->lchild);
CreateBiTree(T->rchlild);
}
}
void InThreading(BiThrTree p){
if(p){
InThreading(p->lchild);
if(!p->lchild){
p->LTag=1;
p->lchild=pre;
}else{
p->LTag;
}
if(!pre->rchlild){
pre->RTag=1;
pre->rchlild=p;
}else{
pre->RTag=0;
}
pre=p;
InThreading(p->rchlild);
}
}
void main(){
pre->RTag=1;
pre->rchlild=NULL;
BiThrTree tree;
cout<<"please input:\n";
CreateBiTree(tree);
InThreading(tree);
cout<<"finish!\n";
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/125580.html
標籤:其他
上一篇:求節點數
