树的层序遍历
//
// main.cpp
// PATA1094
//
// Created by Phoenix on 2018/2/21.
// Copyright © 2018年 Phoenix. All rights reserved.
//
#include <iostream>
#include <cstdio>
#include <vector>
#include <queue>
using namespace std;
const int maxn = 111;
int n, m;
struct node {
vector<int> child;
}node[maxn];
int ans = 0, level;
void levelorder() {
queue<int> q;
q.push(1);
int num = 0, l = 1;
int lastnode = 1, newlastnode;
while(!q.empty()) {
int top = q.front();
num++;
q.pop();
if(num > ans) {
ans = num;
level = l;
}
for(int i = 0; i < node[top].child.size(); i++) {
q.push(node[top].child[i]);
newlastnode = node[top].child[i];
}
if(top == lastnode) {
l++;
lastnode = ne