#include#includeusingnamespacestd;/">
c語言二叉樹建立、遍歷、交換子樹代碼

c語言二叉樹建立、遍歷、交換子樹代碼

ID:8970421

大小:33.00 KB

頁數:5頁

時間:2018-04-13

c語言二叉樹建立、遍歷、交換子樹代碼_第1頁
c語言二叉樹建立、遍歷、交換子樹代碼_第2頁
c語言二叉樹建立、遍歷、交換子樹代碼_第3頁
c語言二叉樹建立、遍歷、交換子樹代碼_第4頁
c語言二叉樹建立、遍歷、交換子樹代碼_第5頁
資源描述:

《c語言二叉樹建立、遍歷、交換子樹代碼》由會員上傳分享,免費在線閱讀,更多相關內容在應用文檔-天天文庫。

1、C語言二叉樹建立,遍歷(遞歸與非遞歸),交換子樹(代碼)//C版二叉樹建立,遍歷(遞歸與非遞歸),交換子樹#include#include#includeusingnamespacestd;//建樹typedefstructNode{?intdata;?Node*lchild,*rchild;}btree;btree*create(inta[],intn,inti){?btree*t;?if(i>n)??t=NULL;?else?{??t=newbtree;??t->data=a[i-1]

2、;??t->lchild=create(a,n,2*i);??t->rchild=create(a,n,2*i+1);?}?returnt;}//前序遍歷(遞歸)voidpreorder(btree*p){?if(p!=NULL)?{????cout<data<lchild);??preorder(p->rchild);?}}//前序遍歷(非遞歸)voidpreorder1(btree*p){?stacks;?while(!s.empty()

3、

4、p!=NULL)?{??wh

5、ile(p!=NULL)??{???cout<data<lchild;??}??p=s.top();??s.pop();??p=p->rchild;?}}//中序遍歷(遞歸)voidinorder(btree*p){?if(p!=NULL)?{??inorder(p->lchild);??cout<data<rchild);?}}//中序遍歷(非遞歸)voidinorder1(btree*p){

6、?stacks;?while(!s.empty()

7、

8、p!=NULL)?{??while(p!=NULL)??{???s.push(p);???p=p->lchild;??}??p=s.top();??cout<data<rchild;?}}//后序遍歷(遞歸)voidpostorder(btree*p){?if(p!=NULL)?{??postorder(p->lchild);??postorder(p->rchild);??cout

9、<data<s;?nodepost;?while(!s.empty()

10、

11、p!=NULL)?{??while(p!=NULL)??{?????post.t=p;?????post.flag=0;?????s.push(post);?????p=p->lchild;??}??if(!s.empty())??{???post=s.top();???s.pop()

12、;???if(post.flag==0)???{????post.flag=1;????s.push(post);????p=(post.t)->rchild;???}???else???{????cout<<(post.t)->data<q;?btree*t;?if(p!=NULL)??q.push(p);?while(!q.empty())?{??t=q

13、.front();??cout<data<lchild!=NULL)?????q.push(t->lchild);??if(t->rchild!=NULL)???q.push(t->rchild);?}}//對二叉樹t中所有結點的左右子樹進行交換voidexchange(btree*p){?btree*t;?if(p!=NULL)?{????t=p->lchild;????p->lchild=p->rchild;????p->rchild=t;????exchange(p->lch

14、ild);????exchange(p->rchild);?}}voidmain(){?btree*root;?inta[5]={1,2,3,4,5};?root=create(a,5,1);?cout<<

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。