Я пытался сортировать вектор Employee's с членом данных строки, называемым именем. Я попробовал несколько различных способов, с помощью метода сортировки вектора, пытаясь преобразовать свои векторы в список и использовать его сортировку, я даже попытался с помощью строки сравнения и> операторы, как показано ниже:Как сортировать по алфавиту в C++
vector<Employee>sortE(vector<Employee>record)
{
for (unsigned int i = 0; i < record.size() - 1; i++)
if (record[i].getLastName() > record[i+1].getLastName())
swap(record[i], record[i + 1]);
return record;
}
Я подумал, что если Я использовал вышеупомянутый метод с функцией подкачки, он будет работать. Но может быть, так как swap - это строковый метод, и я делаю это с Employees, он не будет меняться нормально? Но я также попробовал это с моей «своп», как показано ниже:
vector<Employee>sortE(vector<Employee>record)
{
Employee temp;
for (unsigned int i = 0; i < record.size() - 1; i++)
if (record[i].getLastName() > record[i + 1].getLastName())
{
temp = record[i];
record[i] = record[i + 1];
record[i + 1] = temp;
}
return record;
}
В любом случае я не могу заставить его работать должным образом, любое понимание или помощь будет оценена.
Вам нужно написать свой собственный сортировочный код? Если это так, то ни одно из приведенных выше не является правильным. См. [Здесь] (http://www.sorting-algorithms.com/) для разных методов сортировки или используйте std :: sort. – OldProgrammer
Нет, я просто пытался найти способ сортировки – CodeLink