Я пытаюсь выполнить следующую задачу:Сортировка массива строк в C++
Список студентов в алфавитном порядке, отсортированные по фамилиям. Не изменяйте данный случай имен. Не изменяйте формат выходного файла. (Имя Фамилия) Просто распечатайте записи в порядке по фамилиям, то есть
Annie J
Martin K
Toby L
Такого рода должна быть истинной алфавитный (а не только " лексикографический "вид).
Данные были прочитаны из файла и прошли через виртуальную функцию в зависимости от того, в какой курс был зачислен этот ученик. Вот что у меня есть.
for (int i = 1; i < numStudents; i++)
{
if ((list[i] -> getLastname()) < (list[i - 1] -> getLastname()))
{
Student *temp = list[i - 1];
ist[i - 1] = list[i];
list[i] = temp;
}
}
Я работаю над этим какое-то время, и я волнуюсь, что все это не так. Любые советы/указатели оценили!
Вы (в основном) реализован внутренний цикл пузырьковой сортировки. Этого недостаточно, чтобы разобрать что-нибудь. Почему бы не использовать 'std :: sort'? Также кажется, что ваша программа, скорее всего, получит доступ за пределы вашего массива 'list', что тоже довольно опасно. –
Извините, я немного новичок в программировании и все еще пытаюсь получить зависание строковых функций. Я взгляну! Благодаря! – JMoore
Мне не разрешено использовать библиотеку алгоритмов :( – JMoore