ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 树的遍历 ## 数据结构 ```C++ struct node{ typename data; int child[maxn]; // vector<int> child; }Node[maxn]; ``` ```C++ // 新建 int index=0; int newNode(int v){ Node[index].data=v; Node[index].child.clear(); return index++; // 返回结点下标 } ``` ## 树的遍历 ### 先序遍历 ```C++ void preOrder(int root){ printf("%d",Node[root].data); for(int i=0;i<Node[root].child.size();i++){ preOder(Node[root].child[i]); } } ``` ### 层序遍历 ```C++ void layerOrder(int root){ queue<int> q; q.push(root); while(!q.empty()){ int front=q.front(); printf("%d",Node[front].data); q.pop(); for(int i=0;i<Node[front].child.size();i++){ q.push(Node[front].child[i]); } } } ``` ​