У меня есть структура Студента, которая будет представлять собой Student-массив, содержащий имя студента, их четыре числа GPA и их средний показатель GPA.Использование сортировки вставки для структуры, вызывающей ошибку
struct Student
{
string name;
double gpa[4];
double averageGPA;
};
Я пытаюсь использовать вставки рода для сортировки этого массива студенческих структур по имени студента в алфавитном порядке. Я придумал это до сих пор, когда ptr является указателем на структуру. Я попытался запустить его, и я получаю сообщение об ошибке «operator =». Должно быть, я пытаюсь сравнить элементы, вызывающие эту ошибку?
void insertionSort(Student* ptr[])
{
const int MAX = 10;
int current = 1;
int last = MAX - 1;
int temp;
int walker;
while (current <= last)
{
temp = ptr[current];
walker = current - 1;
while (walker >= 0 && temp < ptr[walker])
{
ptr[walker+1] = ptr[walker];
walker = walker - 1;
}
ptr[walker+1] = temp;
current = current + 1;
}
}
> «Я не уверен, будет ли эта сортировка сортировки работать» Вы попробовали запустить ее как часть программы, чтобы проверить, работает она или нет? Если да, то что вы получили? – ray
Создайте несколько тестовых примеров, в которых вы знаете, какой должен быть правильный результат. Попробуй. Я не подхожу, не использую мышление и отладчик. –
Этот код имеет определенную ошибку в 'ptr [walker + 1] = temp;' вы пытаетесь присвоить 'int'' Student'. Вам нужно будет написать специальный код для обмена «Студент» с учетом всех его переменных-членов. –