【教程】C語言實現樹、二叉樹、圖的基本操做


 

1.編寫算法函數int equal(tree t1, tree t2),判斷兩棵給定的樹是否等價;程序員

 int equal(tree t1,tree t2) 算法

 { int k; if(t1==NULL&&t2==NULL) 編程

 return TRUE; elseif(t1!=NULL&&t2==NULL||t1==NULL&&t2!=NULL) 數據結構

 { return FALSE; 編程語言

 }elseif(t1->data!=t2->data)函數

 {return FALSE;學習

  }for(k=0;kchild[k],t2->child[k]);設計

 if(equal(t1->child[k],t2->child[k])==FALSE)blog

 {return FALSE;遞歸

 }else

return TRUE;}}

2. 編寫算法函數void preorder(bintree t)實現二叉樹t的非遞歸前序遍歷;

void preorder1(bintree t)

{ seqstack s; 

init(&s); 

while(t||!empty(&s)) 

{ if(t)  { 

printf("%c",t->data);

push(&s,t);t=t->lchild;

}elseif(!empty(&s))

{t=pop(&s);t=t->rchild;

 }18}

3.編寫算法函數degree(LinkedGraph g)輸出以鄰接表爲存儲結構的無向圖的各頂點的度。

void degree(LinkedGraph g) 

{ int k; int n; EdgeNode *p; 

for(k=0;knext; }

if(k==0)

 {printf("%d\n",n);

 }else   {printf("%d\n",n);} }}

以上就介紹了數據結構(C語言)關於樹、二叉樹、圖的基本操做。但願有所幫助。

若是你也想成爲程序員,想要快速掌握編程,趕忙關注小編加入學習企鵝圈子吧!

裏面有資深專業軟件開發工程師,在線解答你的全部疑惑~編程語言入門「so easy」

資料包含:編程入門、遊戲編程、課程設計等。

免費學習書籍:


 

免費學習資料:

相關文章
相關標籤/搜索