【悬三关】想到一种用结构体存储树的方法,不知啥名
  • 板块学术版
  • 楼主Xlon_WU
  • 当前回复11
  • 已保存回复11
  • 发布时间2023/9/27 21:01
  • 上次更新2023/11/2 17:48:17
查看原帖
【悬三关】想到一种用结构体存储树的方法,不知啥名
958002
Xlon_WU楼主2023/9/27 21:01

突然想到一种用结构体存储树的方法,有哪位 dalao 知道它叫啥吗

树的每个节点由下面这种结构体存储:

struct tNode{
    int father;		//存储父亲的结点编号(以数组存储所有结点,具体见下一个程序)
    vector < int > sons;	//存储儿子们
    //接下来还可以根据实际情况添加结点的相关信息,如深度等
};

接下来是输入与存储的程序示例:

输入格式:第一行一个整数 n(n<100);接下来 n 行,每行两个整数 x 和 y,表示 x 是 y 的父亲。

#include <iostream>
#include <vector>
using namespace std;
struct tNode{
    int father;
    vector < int > sons;
};
tNode a[110];
int n;
int main(){
    cin>>n;
    for(int i=0;i<n;i++){
        int x,y;
        cin>>x>>y;
        a[y].father=x;
        a[x].sons.push_back(y);
    }
    //以上是输入与存储,剩下的可以自己添加
    return 0;
}
2023/9/27 21:01
加载中...