1. 程式人生 > >學習筆記 c++ (用類來實現二叉樹的建立與遍歷)

學習筆記 c++ (用類來實現二叉樹的建立與遍歷)

 

 

 

 程式碼:

#include<iostream> #include<stdio.h> using namespace std; class BiTree { public:     char data;     BiTree *lchild,*rchild; }; //建立一顆二叉樹,約定使用者按照前序遍歷的方式輸入資料 void CreateBiTree(BiTree* &T) {     //建立一顆樹,其中A->Z字元代表樹的資料,用(空格)“ ”表示空樹     char c;     scanf("%c",&c);     if( ' ' == c)//結點等於     {         T = NULL;     }     else     {         T = new BiTree;         T->data = c;               //根結點資料         CreateBiTree(T->lchild);  //進入左兒子         CreateBiTree(T->rchild);  //再進入右兒子     } } //訪問二叉樹的結點的具體操作,要拿資料做什麼 void visit(char data, int level) {     cout<<data<<" 位於第"<<level<<"層!"<<endl; }

//前序遍歷二叉樹 void qianxiubianli(BiTree* &T,int level) {     if(T)     {         visit(T->data,level);              //訪問根資料         qianxiubianli(T->lchild,level+1); //進入左兒子         qianxiubianli(T->rchild,level+1); //再進入右兒子     } }

int main(int argc, char** argv) {     int level = 1;     BiTree *T=NULL;     CreateBiTree(T);     qianxiubianli(T,level);     return 0; }