我研究了许多与链表示例相关的示例,但它们只是使用一种结构类型以简单的方式解释。所以我需要挖掘更多来清除我的怀疑:
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;
}
答案 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类型对象插入到链接列表中。