Функциональное программирование

Администратор
Андрей Столяров
Медаль
Сообщений: 252
Санкт-Петербург
138 дней назад
Пример на использование рекурсии:
Реализация сортировки по методу пузырька

Код PYTHON:
  1. """
  2. Реализация сортировки по методу пузырька
  3. Опубликовано на условиях свободной лицензии GNU General Public License
  4. (с) Андрей Столяров, 2015 г.
  5. """
  6.  
  7. import random
  8. L=[random.randrange(100) for i in range(1,20)]# Генерируем случайный список
  9. print(L)
  10.  
  11. def mysort(L):
  12. for i in range(0,len(L)-1):# Перебираем пары элементов
  13. if L[i]>L[i+1]: # если в паре элементов порядок нарушен,
  14. L=L[:i]+[L[i+1],L[i]]+L[i+2:] # то меняем местами
  15. return mysort(L) # и вызываем функцию mysort(L), чтобы
  16. # выполнить следующий поиск и перестановку
  17. return L #если пары менять не пришлось, возвращаем список неизменным,
  18. #функцию mysort(L) не вызываем - рекурсия закончена
  19.  
  20. print(mysort(L)) # используем функцию сортировки mysort(L)
Прикрепленные файлы:
sort_5632226836dfc.py | 1,08 Кб | Скачали: 1225 раз
Редактировалось: 3 раза (Последний: 29 октября 2015 в 19:40)
|
Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.