У меня есть список строки, которая наиболее вероятна, но не гарантируемая содержать список численных данных, т.е.
{"1", "6", "2", "21", "89"}
Что путь состоит в том, чтобы отсортировать список строк так, чтобы это всегда казалось в порядке возрастания?
Я не могу проанализировать строку к числовому сначала прежде, чем сделать сортировку просто, потому что строка может содержать нечисловые символы. И я не хочу проходить список и брошенный проверкой каждый компонент к численным данным и делать сортировку. Уже существует ли библиотека, существующая там с этой целью?
В случае, где у нас есть численные данные соединения и нечисловой строковый объект, числовые строки всегда имеют приоритет по не числовым.
Этот вопрос был задан ранее немного по-другому, но тот же ответ все еще применим, поскольку у них есть реализация на C# на том же сайте.
Вопрос SO: Сортировка строки, которая может содержать число
Ответ предоставлен ScArcher2: Алгоритм Alphanum
Если это C#, то для этого и нужен Int32.TryParse().
Если это C++, то std::string::find_first_not_of - достойная ставка. Передайте ей строку, содержащую символы ascii для цифр от 0 до 9 (плюс знаки минус и плюс?), и если она вернет -1, то это целое число.
Вы хотите отсортировать элементы, как это делает Проводник Windows XP с файлами. См. эту статью о том, как это сделать.