如何使用冒泡排序(Student::name 上的学生 [] 降序排列并在 Class 上对 classes[] 数组进行排序)对两个结构数组(其中一个数组是另一个结构的成员)进行排序::标题?
struct Class
{
string title;
int units;
char grade;
};
struct Student
{
string name;
double gpa;
Class classes[500];
};
主要:
Student students[SIZE];
我正在尝试对一个结构数组进行排序,每个结构数组都包含一个结构数组,这些结构也需要使用冒泡排序进行排序。我的排序功能粘贴在下面。它没有正确排序,而是根据标题正确排序结构类 [] 的内部数组,并在 for 循环的第一次迭代中正确排序外部数组 st[]。由于在第二次迭代中 st[] 的元素已被交换,因此第一个元素未排序 b/c currentStu 现在设置为数组中的第二个元素。
void sort_name(Student st[], int numValues)
{
int currentStu = 0;
int currentClass = 0;
for(currentStu = 0; currentStu < numValues; currentStu++)
{
for(currentClass = 0; st[currentStu].classes[currentClass].title != ""; currentClass++)
{
bubbleUpClass(st, currentClass, currentStu);
}
bubbleUpLastName(st, currentStu, numValues - 1);
}
}