树:会分叉的结构
约 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"这种圈。记住树的关键特征:一个根、层层分叉、没有回环。
小纸条
文件夹结构为什么是树?
登录 后可看答案