"""
Модуль является результатом выполнения практической
домашней работы по теме "Повторение. Сортировка"

В задании указанном в 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)
