std :: sort () ожидает два итератора в качестве параметров: первый - начальная позиция сортируемой последовательности, а второй - конечная позиция. Вот почему ваш код не компилируется.
Чтобы отсортировать массив, вы должны либо определить оператор <в вашем классе / структуре, либо предоставить функцию сравнения в качестве третьего параметра для sort (). </p>
Вы можете определить оператор <следующим образом в struct people: </p>
bool operator < (const people &p)
{
return min < p.min;
}
и звоните и звоните, как это:
sort(z, z + 6);
В качестве альтернативы вы можете определить функцию comp следующим образом (после определения struct people):
bool comp(const people &p1, const people &p2) { return (p1.min < p2.min); }
и вызовите sort () следующим образом:
sort(z, z + 6, comp);