Files
ARPZ_s1_pr1.2/1.1.py
2024-10-19 01:27:00 +03:00

54 lines
1.2 KiB
Python

def binarySearch(array, element):
left = 0 # Левая граница
right = len(array) - 1 # Правая граница
middle = 0 # Середина
while left <= right:
middle = (left + right) // 2 # Шаг 1
if array[middle] == element:
return middle
if array[middle] < element: # Шаг 2
left = middle + 1
else:
right = middle - 1
return -1
def binarySearchWithInsert(array, element):
left = 0 # Левая граница
right = len(array) - 1 # Правая граница
middle = 0 # Середина
while left <= right:
middle = (left + right) // 2 # Шаг 1
if array[middle] == element:
return middle
if array[middle] < element: # Шаг 2
left = middle + 1
else:
right = middle - 1
# Вставляем элемент на позицию, согласно сортировке
array.insert(left, element)
return -1
def main():
array = [1, 2, 4, 6, 7, 9, 13, 15]
item = int(input("Find: "))
print(binarySearchWithInsert(array, item))
print(array)
if __name__ == "__main__":
main()