Задача: Сортировка выбором, общий подход
Исходник: Сортировка выбором, общий подход, язык: C++ [code #18, hits: 14686]
автор: this [добавлен: 29.01.2006]
  1. template<class T>
  2. void SelectSort(T* x) {
  3. T t;
  4. /* Главный цикл до n-1, а не n, т.к.
  5. последний остающийся элемент -
  6. максимальный */
  7. for (int i = 0; i < n-1; i++) {
  8. int k = i;
  9. t = x[i];
  10. for (int j = i; j < n; j++) {
  11. if (x[j] < t) {
  12. k = j;
  13. t = x[j];
  14. }
  15. }
  16. x[k] = x[i];
  17. x[i] = t;
  18. }
  19. }
Использует стратегию схожую с алгоритмом сортировки вставками.

Производительность: ~ O(n2)
Расход памяти: - (память используется только под счетчики циклов и 1 вспомогательный элемент)
Тестировалось на: MS Visual Studio 2005, .NET Framework 2.0

+добавить реализацию