【PTA数据结构 | C语言版】查找根结点

本专栏持续输出数据结构题目集,欢迎订阅。

文章目录

    • 题目
    • 代码

题目

请编写程序,根据给定信息构建森林,并找出给定结点所在树的根结点。

输入格式:
输入首先给出一个正整数 n(0

输出格式:
在一行中输出数组第 x 个元素所在树的根结点的数组下标 r,格式为

root index = r

输入样例:
12
D 3
E 3
F 5
A -1
G 5
B -1
J 8
H 10
I 10
K 1
C -1
L 3
9

输出样例:
root index = 3

代码

#include 

#define MAX_N 20

int main() {
    int n;
    scanf("%d", &n);

    int parent[MAX_N];
    char data[MAX_N];

    // 读取输入数据
    for (int i = 0; i < n; i++) {
        scanf(" %c %d", &data[i], &parent[i]);
    }

    int x;
    scanf("%d", &x);

    // 查找根节点
    int current = x;
    while (parent[current] != -1) {
        current = parent[current];
    }

    printf("root index = %d\n", current);

    return 0;
}

你可能感兴趣的:(【PTA数据结构 | C语言版】查找根结点)