這裏只有模板,並不作講解,僅爲路過的各位做一個參考以及用做自己複習的資料,轉載註明出處。
多叉樹轉二叉樹
/*Copyright: Copyright (c) 2018
*Created on 2018-11-02
*Author: 十甫
*Version 1.0
*Title: 多叉樹轉二叉樹
*Time: 3 mins
*/
#include<iostream>
#include<cstdio>
using namespace std;
const int maxn = 10005;
struct node {
int left, right;
} data[maxn];
int main() {
int n;
scanf("%d", &n);
for(int i = 1;i <= n;i++) {
int x;
scanf("%d", &x); // 輸入結點i的父親,x = 0表示i爲根
data[i].right = data[x].left, data[x].left = i;
}
for(int i = 0;i <= n;i++) {
printf("node %d -> %d, -> %d\n", i, data[i].left, data[i].right);
}
return 0;
}