Список строк вида с Числовыми значениями

У меня есть список строки, которая наиболее вероятна, но не гарантируемая содержать список численных данных, т.е.

{"1", "6", "2", "21", "89"}

Что путь состоит в том, чтобы отсортировать список строк так, чтобы это всегда казалось в порядке возрастания?

Я не могу проанализировать строку к числовому сначала прежде, чем сделать сортировку просто, потому что строка может содержать нечисловые символы. И я не хочу проходить список и брошенный проверкой каждый компонент к численным данным и делать сортировку. Уже существует ли библиотека, существующая там с этой целью?

В случае, где у нас есть численные данные соединения и нечисловой строковый объект, числовые строки всегда имеют приоритет по не числовым.

8
задан Graviton 7 February 2010 в 14:36
поделиться

3 ответа

Этот вопрос был задан ранее немного по-другому, но тот же ответ все еще применим, поскольку у них есть реализация на C# на том же сайте.

Вопрос SO: Сортировка строки, которая может содержать число

Ответ предоставлен ScArcher2: Алгоритм Alphanum

8
ответ дан 5 December 2019 в 18:59
поделиться

Если это C#, то для этого и нужен Int32.TryParse().

Если это C++, то std::string::find_first_not_of - достойная ставка. Передайте ей строку, содержащую символы ascii для цифр от 0 до 9 (плюс знаки минус и плюс?), и если она вернет -1, то это целое число.

0
ответ дан 5 December 2019 в 18:59
поделиться

Вы хотите отсортировать элементы, как это делает Проводник Windows XP с файлами. См. эту статью о том, как это сделать.

1
ответ дан 5 December 2019 в 18:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: