Си диез / Говнокод #5820 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
int buf;
                for (int j = 1; j < srows.Length; j++)
                    for (int i = 0; i < srows.Length - j; i++)
                    {
                        if (vrows[i] > vrows[i + 1])
                        {
                            buf = vrows[i];
                            vrows[i] = vrows[i + 1];
                            vrows[i + 1] = buf;

                            buf = srows[i];
                            srows[i] = srows[i + 1];
                            srows[i + 1] = buf;
                        }
                    }

В коде формы. (c) EGAR

Запостил: jonie jonie, (Updated )

Комментарии (13) RSS

  • Если объектов до 20, то это быстрее всего.
    Или если потом делается Флойд — Уоршелл, то оптимизировать сортировку смысла нет.
    Ответить
    • да хрен с ним. Сама реализация УГ. Нахрена тут двойной цикл-то? Это самая медленная реализация пузырька какая только существует.
      Ответить
  • это учебный код? не обладаю точной инфой, но не верю, что в стандартной либе нет эффективных алгоритмов сортировки сравнимых объектов. Следовательно, зачем изобретать велосипед, только если не в целях учебы или самообразования
    Ответить
    • Да, вероятно учебный код. Метод Array.Sort имеет 17 перегрузок - на все случаи жизни. Или же автор кода не подозревает о них.
      Ответить
    • Сложность здесь в том, что нужно отсортировать параллельно два массива. Как для этого использовать готовые процедуры сортировки, автор не смог придумать.
      Ответить
      • Наверное, надо вместо 2 массивов использовать массив пар.
        Впрочем, когда один массив - это строки комбобокса, а другой - это список данных (и они типа согласованы по индексам), то так не выйдет. Я круто обломался, случайно поставив CBS_SORT при инициализации комбобокса.
        Ответить

Добавить комментарий

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8