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)
|