<< | к задаче | главная | печатать | обсудить(0 сообщений) >>
Задача: Циклический сдвиг одномерного массива или строки, 3 уникальных алгоритма
Псевдокод: циклический сдвиг фрагмента массива управление:
  1. /* Сдвигаем массив x[0..n]
  2. * на rotdist позиций влево
  3. */
  4.  
  5.  
  6. /* gcd - наибольший общий делитель
  7. * между n и rotdist
  8. */
  9. for i = 0 to gcd
  10. t = x[i]
  11. j = i
  12. while
  13. k = j + rotdist
  14.  
  15. if k >= n
  16. k -= n
  17.  
  18. if k == i
  19. break
  20.  
  21. x[j] = x[k]
  22. j = k
  23. x[j] = t

 
каталог | задачи | паттерны | исходники | стат | форумы | карта сайта | контакты | ссылки 
© 2000-2018 CodeLAB Group
  Все права защищены
Страница сгенерирована за 0.002868 секунд
Количество запросов к БД: 3, gzip: 2.4kb/6.8kb(65%)