在C++中实现嵌套链表 这种嵌套链表的实现是否在C++中有效? 如果是,那么如何向这些嵌套链表声明头? 访问这些列表中的数据的语法是什么? 这是我的通用代码的一部分。 我正在尝试用C++来实现一个图书管理系统。 struct course { string course_name; struct course_books { struct wait_list { long stu_num; //date inserted wait_list * next_wait_stu; }; struct voters_list { long stu_num; int vote; voters_list * next_voter; }; struct deposit_list { long stu_num; //date given //bring back date deposit_list * next_depositor; }; }; course * next_course; }; struct demand { int ISBN; string book_name, course, author, edition; int demands_num; struct demanding_students { string demander_name; int demander_stu_number; //demand date demanding_students * next_demanding_stu; }; demand * next_demand; }; struct STUDENT_INFO { struct all_deposited_books { int ISBN; //date given //bring back date all_deposited_books * next_dep_book; }; struct today_deposited { int ISBN; today_deposited * next_today_dep_book; }; };
您可能希望使用类来实现这一点。比如:在C++中实现嵌套链表 这种嵌套链表的实现是否在C++中有效? 如果是,那么如何向这些嵌套链表声明头? 访问这些列表中的数据的语法是什么? 这是我的通用代码的一部分。 我正在尝试用C++来实现一个图书管理系统。 struct course { string course_name; struct course_books { struct wait_list { long stu_num; //date inserted wait_list * next_wait_stu; }; struct voters_list { long stu_num; int vote; voters_list * next_voter; }; struct deposit_list { long stu_num; //date given //bring back date deposit_list * next_depositor; }; }; course * next_course; }; struct demand { int ISBN; string book_name, course, author, edition; int demands_num; struct demanding_students { string demander_name; int demander_stu_number; //demand date demanding_students * next_demanding_stu; }; demand * next_demand; }; struct STUDENT_INFO { struct all_deposited_books { int ISBN; //date given //bring back date all_deposited_books * next_dep_book; }; struct today_deposited { int ISBN; today_deposited * next_today_dep_book; }; };,c++,linked-list,nested-lists,C++,Linked List,Nested Lists,您可能希望使用类来实现这一点。比如: class STUDENT_INFO{ protected: struct all_deposited_books { int ISBN; //date given //bring back date }; struct today_deposited {
class STUDENT_INFO{
protected:
struct all_deposited_books
{
int ISBN;
//date given
//bring back date
};
struct today_deposited
{
int ISBN;
};
public:
all_deposited_books * next_dep_book;
today_deposited * next_today_dep_book;
};
然后创建一个类实例,如:STUDENT\u INFO theBestStudentInfo;如果您想访问其中的一个结构变量,只需调用:theBestStudentInfo.all\u deposted\u books[0]。ISBN=5;或者类似的。
此外,我认为您不能在结构本身内部创建结构实例,如:
struct all_deposited_books
{
int ISBN;
//date given
//bring back date
all_deposited_books * next_dep_book; //<- this is probably gonna cause problems
};
首先创建结构及其外观,然后您可以开始创建所需的实例数:运行该结构时是否遇到问题,或者出现此问题的原因是什么?@GoogleHireMe我想知道这是否可行。如果是,那么我访问内部列表的时间是多少呢?当处理更大的东西时,类通常会更好地使用。