StudyRepo_Synergy/part2_OOP/lesson1/bubble_sort.py

45 lines
1.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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