日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

二叉树的递归遍历(先序,中序,后序)

發布時間:2023/12/20 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二叉树的递归遍历(先序,中序,后序) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include "stdio.h" #include "malloc.h" #define M 100 typedef struct node { /* 采用二叉鏈表存儲結構 */char data;struct node *lchild,*rchild; }BTnode; BTnode *create()/*利用先序遍歷的過程創建二叉樹*/ {BTnode *t;char ch;scanf("%c",&ch);if(ch=='#')t=NULL;else{t=(BTnode *)malloc(sizeof(BTnode)) ;t->data=ch;t->lchild=create();t->rchild=create();}return t; } void preorder(BTnode *t)/*先序遍歷二叉樹*/ {if(t!=NULL)printf("%c ",t->data);if(t->lchild!=NULL)preorder(t->lchild);if(t->rchild!=NULL)preorder(t->rchild);} void inorder(BTnode *t)/*中序遍歷二叉樹*/ {if(t!=NULL){if(t->lchild!=NULL)inorder(t->lchild);printf("%c ",t->data);if(t->rchild!=NULL)inorder(t->rchild);} } void postorder(BTnode *t)/*后序遍歷二叉樹*/ {if(t!=NULL){ if(t->lchild!=NULL)postorder(t->lchild);if(t->rchild!=NULL)postorder(t->rchild);printf("%c ",t->data);} } void main() { BTnode *t; printf("Input data:") ; t=create(); printf("==================The result==========================\n"); printf("The preorder is:\n"); preorder(t); printf("\n"); printf("The inorder is:\n"); inorder(t); printf("\n"); printf("The postorder is:\n"); postorder(t); printf("\n"); }

總結

以上是生活随笔為你收集整理的二叉树的递归遍历(先序,中序,后序)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。