import random
array_length = 100
lower_bound = 0
upper_bound = 300
def create_array(size=array_length, minimum=lower_bound, maximum=upper_bound):
result = []
for _ in range(size):
[Link]([Link](minimum, maximum))
return result
def sort_data(data):
if len(data) <= 1:
return data
middle_element = data[len(data) // 2]
smaller = []
equal = []
larger = []
for element in data:
if element < middle_element:
[Link](element)
elif element == middle_element:
[Link](element)
else:
[Link](element)
return sort_data(smaller) + equal + sort_data(larger)
def find_element(ordered_data, target_value):
start = 0
end = len(ordered_data) - 1
while start <= end:
middle = (start + end) // 2
if ordered_data[middle] == target_value:
return middle
elif ordered_data[middle] < target_value:
start = middle + 1
else:
end = middle - 1
return -1
data_list = create_array()
print("Початковий набір даних:", data_list)
ordered_list = sort_data(data_list)
print("Відсортований набір даних:", ordered_list)
search_number = int(input("Введіть число для пошуку: "))
result_index = find_element(ordered_list, search_number)
if result_index != -1:
print("Знайдено на позиції:", result_index)
else:
print("Елемент не знайдено в наборі даних")