nickola105
@nickola105
начинающий

Не корректно работает сортировка. в чем ошибка?

есть вот такая сортировочка
приходит в него массив 1256, 4558, 221, 665, 789, 23
а выходит вот такой 789, 665, 4558, 23, 221, 1256
а как понимаю он сортирует по первой цифре 7, 6, 4, и т.д.
class InsertionSorting
    {
        public string[] SortUp(string[] lane)
        {
            string temp;
            int j;
            for (int i = 1; i <= lane.Length - 1; i++)
            {
                temp = lane[i];
                j = i - 1;
                while (j >= 0 && String.CompareOrdinal(lane[j], temp) < 0)
                {
                    lane[j + 1] = lane[j];
                    j--;
                }
                lane[j + 1] = temp;
            }
            return lane;
        }
    }

Ребятушки чего не так?
задача отсортировать лексикографическим порядком(по кодам символов)
заранее благодарен
  • Вопрос задан
  • 192 просмотра
Пригласить эксперта
Ответы на вопрос 1
Порядок как раз лексикографический, а если требуется сортировать как числа то:

lane.Select(s => int.Parse(s)).OrderByDescending(s => s);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы