樹的建立與層次遍歷

2021-08-28 04:11:24 字數 1564 閱讀 1661

#include #include #include #include using namespace std;

typedef struct treenode

}treenode;

treenode* bulidtree()//普通建立一棵樹(根左右)

else

return t;

}treenode* bulidtreea(int b)//通過陣列建立一棵樹

else

return t;

}treenode* bulidbst(treenode *t,int x)//生成二叉搜尋樹

else

return t;

}void printvintree(treenode *t)//中序遍歷

vector> res;

vectorvec;

int printatlevel(treenode *t,int level)//層次遍歷

if( 0 == level)

return printatlevel(t->left,level-1) + printatlevel(t->right,level-1) ;

}void print_by_level_1(treenode *t)

cout << endl;

}//層次遍歷迭代

void printleveltree(treenode *t)//從上之下從左往右邊列印結點

}int main()

// printvintree(t);

// print_by_level_1(t);

// printleveltree(t);

//3、陣列建立一棵樹

int b[11] = ;

t = bulidtreea(b);

printvintree(t);

return 0;

}

#include #include using namespace std;

typedef struct treenode

}treenode;

treenode* bulidtree(treenode* t,int val)//生成二叉樹

if(val < t->val) t->left = bulidtree(t->left, val);

else if(val > t->val) t->right = bulidtree(t->right, val);

return t;

}void printtree(treenode *t)//前序遍歷

void printpretree(treenode *t)

}void printvintree(treenode *p)

if(!s.empty())

}}int main()

// int t = ;

// for(int i=0 ; i<5 ; i++)

//

printvintree(t);

return 0;

}

二叉樹的建立與層次遍歷

tree.h ifndef tree h define tree h 1 typedef int int32 typedef unsigned int uint32 typedef unsigned char uchar8 typedef char char8 typedef long long i...

樹的層次遍歷

include includeusing namespace std 結點權值作為結點編號 int postorder 31 後序遍歷結點 int inorder 31 中序遍歷結點 int leftnodes 31 儲存某結點的左子樹編號 int rightnodes 31 儲存某結點的右子樹編號...

樹 通用樹的層次遍歷

1,為何及如何按層次遍歷通用樹中的每乙個資料元素?1,通用樹結構是一種容器型別的樹結構,其用來裝資料元素,所以應該提供一種方法來遍歷樹中的每乙個資料結構 2,往下分析 2,當前的事實 1,樹是非線性的資料結構,樹的結點沒有固定的編號方式 1,也就不能像鍊錶一樣統一編號來訪問 3,新的需求 1,為通用...