У меня есть std::vector<std::string>
, который будет содержать числа и символы (один символ). Я бы хотел, чтобы сначала отсортированные числа, а затем символы ... поэтому у меня есть перемешанный вектор строк в качестве входных данных, и после сортировки я хочу, чтобы это как 1,2,3,5,7,9,10, A, В, С, D. Но я думаю, что сортировка также сравнивает размеры входов, и, следовательно, если у моего вектора есть номера разной длины, я получаю неправильный вывод. Например, делая std::sort (vec.begin(),vec.end())
на 9,4,5,2,10,11,A,D,B,E,C
возвращает 10,11,2,4,5,9,A,B,C,D,E
.std :: sort on std :: vector <std::string>
Как исправить мою ошибку и что мне не хватает?
Спасибо,
Саян
Я думаю, что лексикографический вид использует ascii для сравнения, поскольку он по умолчанию. Спасибо, напиши пользовательский, как вы предложили. – Sayan