带有链接列表的嵌套数据结构

时间:2014-03-09 18:05:14

标签: c++ linked-list

我研究了许多与链表示例相关的示例,但它们只是使用一种结构类型以简单的方式解释。所以我需要挖掘更多来清除我的怀疑:

    struct movies_t {
    int number;
    string title;
    int year;
    movies_t *next; 
    }
  • 链接列表的所有节点是否必须是 movies_t 类型(因为它在数组中:数组是类似类型值的集合)?

    < / LI>
  • 如果我想动态添加一个或多个不同的新结构,那些包含完全不同的元素,除了int number;,它是所有数据结构中的一个共同元素,用于有序排序数据。有可能吗?

  • 如果我必须实现嵌套数据结构(如下所示),是否可以使用链接列表或某些树数据结构(二进制,B,B +树)来实现它?

    struct movies_t {
    int number;
    string title;
    int year;
    }
    
    struct friends_t {
    int number;
    string name;
    string email;
    movies_t favorite_movie;
    }
    
    struct world_t {
    int number
    string country;
    string continent;
    double population
    movies_t favorite_movie;
    friends_t friends_forever;
    }
    

1 个答案:

答案 0 :(得分:0)

您可以为节点创建类而非结构。执行以下操作,

class parent_t{
int number;
parent_t* next;
}

class movies_t: public parent_t {
string title;
int year;
}

class friends_t : public parent_t {
string name;
string email;
movies_t favorite_movie;
}

class world_t: public parent_t {
string country;
string continent;
double population
movies_t favorite_movie;
friends_t friends_forever;
}

现在,您可以创建parent_t类型的链接列表。然后,您可以将movie_t,friends_t,world_t类型对象插入到链接列表中。