在做一些演算法題時,我會經常用到vs2017去測試,每次去找乙個合適的二叉樹覺得很麻煩,今天就自己寫了乙個放在部落格上,下次就直接複製了
包含二叉樹的建立,以及二叉樹的前序遍歷、中序遍歷、後序遍歷和層序遍歷
#include
#include
#include
#include
using
namespace std;
class
node
;建構函式};
//先序遍歷
void
preorder
(node & node)
if(node.rightchiled !=
nullptr)}
void
midorder
(node & node)
cout << node.data <<
" ";
if(node.rightchiled !=
nullptr)}
void
postorder
(node & node)
if(node.rightchiled !=
nullptr
) cout << node.data <<
" ";
}//層序遍歷
vector
int>>
levelorder
(node* root)
; vector
int>> ans;
//利用q.size() 來保證當前層的元素的數目
建立二叉樹,層序 先序遍歷
要求能夠輸入樹的各個結點,並能夠輸出用不同方法遍歷的遍歷序列 分別建立建立二叉樹儲存結構的的輸入函式 輸出層序遍歷序列的函式 輸出先序遍歷序列的函式 源 include include define max 20 typedef char telemtype typedef int status t...
二叉樹的先 中 後 層序遍歷 (非遞迴)
二叉樹的遍歷,求高度 葉子 結點的非遞迴形式,可以在某乙個遍歷中增加一項用於統計的次數即可。1 層序遍歷 以rear走兩步 即兩個if 語句 front走一步的來遍歷,結合佇列畫圖可清晰了解遍歷思想 2void tree levertree node root else 16if p rchild ...
根據二叉樹的先序遍歷和中序遍歷建立二叉樹
根據二叉樹的先序遍歷和中序遍歷建立二叉樹 rebacktree 根據二叉樹的先序遍歷和中序遍歷建立二叉樹。rebacktree1 根據二叉樹的後序序遍歷和中序遍歷建立二叉樹。include stdio.h include stdlib.h typedef struct node node,nodep...