Вход Регистрация
* Taltos *

Шейкерная сортировка

  1. //<summary>Шейкерная сортировка</summary>
  2. //<param name="array">Массив</param>
  3. private static void Cocktail(ref int[] array)
  4. {
  5. var n = array.Length - 1;
  6. var left = 0;
  7. var right = n;
  8. var b = false;
  9. while (!b)
  10. {
  11. b = true;
  12. for (var i = left; i < right; i++)
  13. {
  14. if (array[i] <= array[i + 1]) continue;
  15.  
  16. Swap(ref array[i + 1], ref array[i]);
  17. b = false;
  18. }
  19. right--;
  20. for (var i = right; i >= left; i--)
  21. {
  22. if (array[i + 1] >= array[i]) continue;
  23. Swap(ref array[i + 1], ref array[i]);
  24. b = false;
  25. }
  26. left++;
  27. }
  28. }
  29. //<summary>Обмен (swap) значений между двумя элементами массива</summary>
  30. //<param name="i">Ссылка на первый элемент</param>
  31. //<param name="j">Ссылка на второй элемент</param>
  32. private static void Swap(ref int i, ref int j)
  33. {
  34. i = i + j;
  35. j = i - j;
  36. i = i - j;
  37. }
» Описание: Шейерная сортировка (сортировка перемешиванием) - продвинутая версия пузырьковой сортировки.
» Время добавления: 12 Марта 2015 в 12:21
» Посмотров: 1375
» textarea
» Рейтинг: [+0 | -0]
Комментарии [0]
Онлайн: 1
Реклама