91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

假設(shè)以如下說明的三元組 (F、C、L/R) 序列輸入一棵二叉樹的諸邊(其中 F 表示雙親結(jié)點的標(biāo)識,C 表示孩子結(jié)點標(biāo)識,L/R 表示 C 為 F 的左孩子或右孩子),且在輸入的三元組序列中,C 是按層次順序出現(xiàn)的。設(shè)結(jié)點的標(biāo)識是字符類型。F=‘^’時 C 為根結(jié)點標(biāo)識,若 C 亦為‘^’,則表示輸入結(jié)束。試編寫算法,由輸入的三元組序列建立二叉樹的二叉鏈表,并以中序序列輸出。 ^AL ABL ACR BDL CEL CFR DGR FHL ^^L

資源截圖

代碼片段和文件信息

#include
#include

//定義二叉樹的結(jié)構(gòu)類型
typedef?struct?a{
struct?a*?L;
struct?a*?R;
char?c;
}binarytype;

//對于給定的一個字符ch以及一個標(biāo)志R或L的字符lebal,將其存入二叉樹T結(jié)點中,right返回1,error返回0
int?putchs(binarytype?*Tchar?chchar?lebal);
//創(chuàng)建一個二叉樹空結(jié)點,right返回1,error返回0
int?initbinarytree(binarytype?*T);
//用前序遍歷的方式找到二叉樹T中字符ch所在的結(jié)點,然后將地址給e,成功返回1,失敗返回0
binarytype*?visit1(binarytype?*Tchar?ch);
//中序遍歷二叉樹,并輸出其中元素內(nèi)容
int?visit2(binarytype?*T);
//將三元組數(shù)組chars存入T中,成功返回1,異常返回0
int?save(binarytype?*Tchar*?chars);

int?main(void)
{
char?chars[]=“^AL??ABL??ACR??BDL??CEL??CFR??DGR??FHL?^^L“;
binarytype?*T;

if(!(T=(binarytype*)malloc(sizeof(binarytype))))
return?0;
(*T).c?=?NULL;
(*T).R?=?NULL;
(*T).L?=?NULL;
if(!save(Tchars))?return?0;
if(!visit2(T))?return?0;
return?1;
}




//對于給定的一個字符ch以及一個標(biāo)志R或L的字符lebal,將其存入二叉樹T結(jié)點中,right返回1,error返回0
int?putchs(binarytype?*Tchar?chchar?lebal)
{
binarytype?*T1;
if(!(*T).c)
{
(*T).c?=?ch;
(*T).L?=?NULL;
(*T).R?=?NULL;
return?1;
}
if(!(T1=(binarytype*)malloc(sizeof(binarytype))))
return?0;
(*T1).c?=?ch;
(*T1).L?=?NULL;
(*T1).R?=?NULL;?
if(lebal==‘R‘)
(*T).R?=?T1;
else
(*T).L?=?T1;
return?1;
}

//將三元組數(shù)組chars存入T中,成功返回1,異常返回0
int?save(binarytype?*Tchar*?chars)
{
int?i=0;
binarytype?*T1;
T1?=?NULL;

T1?=?T;
while(chars[i])
{
if(chars[i]==‘?‘)
{
i++;
continue;
}//if
if(chars[i]==‘^‘&&chars[i+1]!=‘^‘)
{
if(chars[i+2]!=‘L‘&&chars[i+2]!=‘R‘)
return?0;
putchs(Tchars[i+1]chars[i+2]);
i?+=?3;
continue;
}//if
if(chars[i]==‘^‘&&chars[i+1]==‘^‘)
return?1;
if(chars[i]!=‘^‘)
{
if(!(T1=visit1(Tchars[i])))
return?0;
putchs(T1chars[i+1]chars[i+2]);
i?+=?3;
continue;
}//if
}//while
return?1;
}
//用前序遍歷的方式找到二叉樹T中字符ch所在的結(jié)點,然后將地址給e,成功返回1,失敗返回0
binarytype*?visit1(binarytype?*Tchar?ch)
{
if(!T)
return?0;
if((*T).c==ch)
return?T;
if(visit1((*T).Lch))
return?visit1((*T).Lch);
if(visit1((*T).Rch))
return?visit1((*T).Rch);
return?0;
}

//中序遍歷二叉樹,并輸出其中元素內(nèi)容
int?visit2(binarytype?*T)
{
if(!T)
return?0;
visit2((*T).L);
printf(“%c??“(*T).c);
visit2((*T).R);
return?1;
}

//創(chuàng)建一個二叉樹空結(jié)點,right返回1,error返回0
int?initbinarytree(binarytype?*T)
{
if(!(T=(binarytype*)malloc(sizeof(binarytype))))
return?0;
(*T).c?=?NULL;
(*T).R?=?NULL;
(*T).L?=?NULL;
return?1;
}



?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-04-25?07:50??胡扯也有理\
?????目錄???????????0??2013-04-25?07:48??胡扯也有理\Debug\
?????文件???????33792??2013-04-25?07:50??胡扯也有理\Debug\vc60.idb
?????文件???????53248??2013-04-25?07:48??胡扯也有理\Debug\vc60.pdb
?????文件??????172111??2013-04-25?07:48??胡扯也有理\Debug\胡扯也有理.exe
?????文件??????173760??2013-04-25?07:48??胡扯也有理\Debug\胡扯也有理.ilk
?????文件????????6542??2013-04-25?07:48??胡扯也有理\Debug\胡扯也有理.obj
?????文件??????220304??2013-04-25?07:28??胡扯也有理\Debug\胡扯也有理.pch
?????文件??????427008??2013-04-25?07:48??胡扯也有理\Debug\胡扯也有理.pdb
?????文件????????2707??2013-04-25?07:48??胡扯也有理\胡扯也有理.cpp
?????文件????????4334??2013-04-25?07:38??胡扯也有理\胡扯也有理.dsp
?????文件?????????528??2013-04-25?06:43??胡扯也有理\胡扯也有理.dsw
?????文件???????33792??2013-04-25?07:50??胡扯也有理\胡扯也有理.ncb
?????文件???????48640??2013-04-25?07:50??胡扯也有理\胡扯也有理.opt
?????文件?????????912??2013-04-25?07:48??胡扯也有理\胡扯也有理.plg

評論

共有 條評論

相關(guān)資源