45 lines
1.7 KiB
Python
45 lines
1.7 KiB
Python
|
"""
|
|||
|
Модуль является результатом выполнения практической
|
|||
|
домашней работы по теме "Повторение. Сортировка"
|
|||
|
|
|||
|
В задании указанном в 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)
|