树的遍历-Preorde Traversal,Inorder Traversal,Postoder Traversal
生活随笔
收集整理的這篇文章主要介紹了
树的遍历-Preorde Traversal,Inorder Traversal,Postoder Traversal
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
上代碼(創建樹,先序,中序,后序)
#include<bits/stdc++.h> using namespace std; typedef struct TreeNode *BinTree; struct TreeNode {BinTree left,right;int value; }; BinTree CreateTree() {BinTree T;int value;cin>>value;if(value==0) //如果輸入0,則創建樹停止{T=NULL;}else{T=(BinTree)malloc(sizeof(TreeNode));T->value=value;T->left=CreateTree();T->right=CreateTree();}return T; } void Preorder(BinTree T)//Preorder Traversal,root first,left-child second,right-child third. {if(T==NULL){return;}cout<<T->value<<endl;Preorder(T->left);Preorder(T->right);return; } void Inorder(BinTree T)//Inorder Traversa,left-child first,root second,right-child third. {if(T==NULL){return;}Inorder(T->left);cout<<T->value<<endl;Inorder(T->right);return ; } void Postorder(BinTree T)//Postorder Traversal,left-child first,right-child second,root third. {if(T==NULL){return ;}Postorder(T->left);Postorder(T->right);cout<<T->value<<endl;return ; } int main() {BinTree root;root=CreateTree();Preorder(root);Inorder(root);Postorder(root);return 0; }代碼暫不做解釋,留個人參考使用.
?
?
測試數據:
input:
1 2 4 0 0 5 0 0 3 0 0
output:
1 2 4 5 3
4 2 5 1 3
4 5 2 3 1
(將換行更改一下)
總結
以上是生活随笔為你收集整理的树的遍历-Preorde Traversal,Inorder Traversal,Postoder Traversal的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hadoop系列(三)MapReduce
- 下一篇: pycharm中使用scrapy命命