Сортировка элементов структуры типа string c++

171
01 апреля 2018, 20:39

Не знаю какой должная быть ф-ия, которая принимает массив структур и сортирует его по одному элементу типа string, да ещё и по алфавиту. Может кто подсказать?

struct AEROFLOT
{
public:
char Trip[20];      //номер рейса
string Departure;  // пункт отправления
string Destination;  //пункт назначения <--- по этому элементу нужно отсортировать массив
char Type[30];  //тип самолёта
float Time;  //Время в пути
float Price; / / цена билета
};
Answer 1
AEROFLOT a[N];
sort(a,a+N,[](const AEROFLOT& x,const AEROFLOT& y)
{ return x.Destination < y.Destination; });

Где-то так...

Answer 2

Пояснительный код к ответу от Harry:

bool cmpByDeparture (const AEROFLOT& r1, const AEROFLOT& r2)
{
    return r1.Departure < r2.Departure;
}
bool cmpByDestination(const AEROFLOT& r1, const AEROFLOT& r2)
{
    return r1.Destination < r2.Destination;
}
//...
AEROFLOT a[N];
sort(a,a+N, cmpByDestination); //  сортировка по пункту назначения
sort(a,a+N, cmpByDeparture);   //  по пункту отправления

просто вместо того, чтоб отдельно написать функцию, была использована лямбда

READ ALSO
Удаление элемента из двоичного файла с++

Удаление элемента из двоичного файла с++

Имеется однонаправлянный связаный список, который находиться в двоичном файлеФайл мы создает из консоли, и там же его заполняем

170
Найти угол между тремя точками

Найти угол между тремя точками

Необходимо определить угол точки C относительно двух точек А и В, точки A и B образуют "отрезок", который можно ассоциировать с осью X, так как...

213
Почему крашится программа?

Почему крашится программа?

Она вообще компилироваться не должна - ну нет в C++ массивов с размером, известным во время выполнения

208
Как включить в итоговый APK пакет lib/armeabi-v7a?

Как включить в итоговый APK пакет lib/armeabi-v7a?

У меня есть проект на JavaПосле комплиляции и сборки APK должен содержать в себе пакет lib/armeabi-v7a с

232