【文章內(nèi)容簡介】
LL N Y tnoderight==NULL N return(tnode) findinspos(s,tnodeleft) return(tnode) findinspos(s,tnoderight) 結(jié) 束5) deltree( ) 函 數(shù) 開 始tnode==NULL Y return(NULL) ch=strcmp(tnodedata,s)Y ch==0 N無孩子 ch0 Nfree(tno Y 無左孩子 N tnodeleft=del tnode de tree(s,tnodeleft) rightdata) =deltree t1=tnode Y 無右孩子 N (s,tnode right right) t1=tno t1=tnode free(tn de righode) free(tno left deda ta) t2=tnodereturn free right(NULL) (tnode free data) (tnode) t2left!=NULL N free Y return (tnode) (t1) t2=t2left return(t1) t2left= tnodeleft free(tnodedata) free(tnode) return(t1) 結(jié) 束五、源程序程序清單:include include include include include typedef struct treenode *treeptr。 //重定義機(jī)構(gòu)指針類型為treeptrstruct treenode //樹結(jié)點(diǎn)的基本數(shù)據(jù)結(jié)構(gòu){ int key。 //數(shù)據(jù)域 char data[20]。 //數(shù)據(jù)域 treeptr left,right。 //左,右指針}。//主要的樹函數(shù)的說明部分void prttree(treeptr tnode,int t)。treeptr instree(char *s,int key,treeptr tnode)。treeptr membertree(char *s,treeptr tnode)。treeptr deltree(char *s,treeptr tnode)。treeptr findinspos(char *s,treeptr tnode)。main( ){ treeptr tp,t。 char ch。 char s[80]。 int key。 int i。 tp=NULL。 //初始化根結(jié)點(diǎn)指針 while(1) { clrscr()。 gotoxy(20,5)。 printf(IInsert an element into the tree)。 gotoxy(20,6)。 printf(DDelete an element from the tree)。 gotoxy(20,7)。 printf(FFind a member in the tree)。 gotoxy(20,8)。 printf(P