Розробіть функції для здійснення наступних операцій зі списками:
1 Швидке сортування;
2 Пошук елементу за значенням;
3 Пошук перших п’яти мінімальних елементів;
4 Пошук середнього арифметичного;
5 Повернення списку, що сформований з початкового списку, але не
містить повторів.
ВСЮДИ МАЄ БУТИ DEF (PYTHON)!!!!!
Answers & Comments
Ответ: МАЛО БАЛІВ ЗА ТАКЕ ЗАВДАННЯ))
import random
import time
def quick_sort(array):
"""Швидке сортування"""
if len(array) < 2:
return array
else:
pivot = array[0]
less = [i for i in array[1:] if i <= pivot]
greater = [i for i in array[1:] if i > pivot]
return quick_sort(less) + [pivot] + quick_sort(greater)
def search(array, value):
"""Пошук елементу за значенням"""
for i in array:
if i == value:
return i
return None
def search_min(array):
"""Пошук перших п’яти мінімальних елементів"""
min_list = []
for i in range(5):
min_list.append(min(array))
array.remove(min(array))
return min_list
def average(array):
"""Пошук середнього арифметичного"""
return sum(array) / len(array)
def unique(array):
"""Повернення списку, що сформований з початкового списку, але не
містить повторів"""
return list(set(array))
def main():
array = [random.randint(1, 100) for i in range(1000)]
print("Початковий список: ", array)
start = time.time()
print("Сортований список: ", quick_sort(array))
print("Час сортування: ", time.time() - start)
start = time.time()
print("Пошук елементу за значенням: ", search(array, 50))
print("Час пошуку: ", time.time() - start)
start = time.time()
print("Перші п’ять мінімальних елементів: ", search_min(array))
print("Час пошуку: ", time.time() - start)
start = time.time()
print("Середнє арифметичне: ", average(array))
print("Час пошуку: ", time.time() - start)
start = time.time()
print("Список без повторів: ", unique(array))
print("Час пошуку: ", time.time() - start)
if __name__ == "__main__":
main()