воскресенье, 12 сентября 2010 г.

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

[Все сортировки]

Теория: Общая информация изложена здесь

Практика
: informatics.mccme.ru

Реализация:
  1. void cocktail_sort(vector<int> &mas)
  2. {
  3.   int l = 0, r = mas.size()-1;
  4.   while (l<=r)
  5.   {
  6.     // всплывает самый "легкий" элемент
  7.     for (int i = r ;i>l;i--)
  8.       if (mas[i-1]>mas[i])
  9.         swap(mas[i-1],mas[i]);
  10.     l++;
  11.     // тонет самый "тяжелый элемент"
  12.     for (int i=l; i<r; i++)
  13.       if (mas[i]>mas[i+1])
  14.         swap(mas[i],mas[i+1]);
  15.     r--;
  16.   }
  17. }
* This source code was highlighted with Source Code Highlighter.

Комментариев нет:

Отправить комментарий