StudyRepo_Synergy/part2_OOP/lesson1/bubble_sort.py

45 lines
1.7 KiB
Python
Raw Permalink Normal View History

2023-12-02 13:42:28 +03:00
"""
Модуль является результатом выполнения практической
домашней работы по теме "Повторение. Сортировка"
В задании указанном в README.md требуется написать алгоритм
пузырьковой сортировки над объектом типа list.
В библиотеке collections представлен класс UserList,
который позволяет кастомизировать стандартный объект
list переопределением стандартных или добавлением своих
методов оставляя за скобками остальные стандартные методы.
Я создал свой class, переопределив метод sort, с использованием
пузырьковой сортировки.
:copyright: Сергей Ванюшкин <pi3c@yandex.ru>
:git: https://git.pi3c.ru/pi3c/StudyRepo_Synergy.git
:license: MIT
2023г.
"""
from collections import UserList
class MyCustomList(UserList):
def __init__(self):
self.data = []
def len(self):
return self.data.__len__()
def sort(self):
for _ in range(self.len() - 1):
for j in range(self.len() - 1):
if self.data[j] > self.data[j + 1]:
self.data[j], self.data[j + 1] = self.data[j + 1], self.data[j]
arr = MyCustomList()
for _ in range(int(input("Введите количество элементов списка: "))):
arr.append(int(input(f"Введите элемент {_ + 1}: ")))
print("Введенный список:", arr)
arr.sort()
print("Отсортированный", arr)