树:会分叉的结构

8 分钟

前面的数据都是排成一条线的,树不一样,它会分叉。有一个"根",从根往下分出几根枝,每根枝上又能再分枝,一层层散开,但绝不会绕回去连成圈。家谱、电脑里的文件夹、公司的组织架构,都是这个样子。

#include <iostream>
#include <string>
using namespace std;
struct Node {
    string name;
    Node* children[3];   // 最多牵 3 个孩子
    int count;
};
int main() {
    Node c1{"数学", {}, 0}, c2{"语文", {}, 0};
    Node root{"课本", {&c1, &c2}, 2};
    for (int i = 0; i < root.count; i++)
        cout << root.name << " 下有 " << root.children[i]->name << endl;
    return 0;
}

小纸条问:文件夹结构为什么是树?因为有一个总文件夹(根),里面装子文件夹,子文件夹里再装子文件夹,一层层往下分,而且不会出现"A 装着 B、B 又反过来装着 A"这种圈。记住树的关键特征:一个根、层层分叉、没有回环。

小纸条

文件夹结构为什么是树?

登录 后可看答案

树:会分叉的结构 · C++ 入门 · op599 课程