gpt4 book ai didi

创建与 C 中另一个列表大小相同的结构列表

转载 作者:行者123 更新时间:2023-11-30 15:33:45 24 4
gpt4 key购买 nike

我有一份按 C 中的注册号订购的学生列表:

typedef struct student_type_ {                  
int number;
char name[20];
char surname[20];
struct stud_type_ *next_student;
} student_type;

现在我想创建另一个指向该列表元素的指针列表,根据名称按字母顺序对其进行排序。

typedef struct sort_list_ {
struct student_type_ *student_data;
struct sort_list *next_student;
} sort_list;

因此,我考虑首先创建一个与student_type大小相同的新sort_list,但我不明白......有没有一种简单而优雅的方法可以在C中做到这一点?

最佳答案

作为一般设计规则,始终将数据与数据的表示分开。这将使您的代码更干净、更优雅。

我的建议:创建一个仅包含学生信息的 student_data 结构。然后创建两个单独的列表 - 一个按注册号排序,另一个按名称排序。

typedef struct student_data_ {                  
int number;
char name[20];
char surname[20];
} student_data;

typedef struct sorted_student_list_ {
struct student_data_ *student;
struct sorted_student_list_ *next;
} sorted_student_list;

...

sorted_student_list sorted_students_by_reg_number;
sorted_student_list sorted_students_by_name;

关于创建与 C 中另一个列表大小相同的结构列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23591493/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com