Прежде чем решить проблему, давайте обсудим бинарный поиск,
Бинарный поиск: Поиск отсортированного массива путем многократного деления интервала поиска пополам. Начните с интервала, охватывающего весь массив. Если значение ключа поиска меньше, чем элемент в середине интервала, сузьте интервал до нижней половины. В противном случае сузьте его до верхней половины.
Здесь вам нужно менять среднюю точку каждый раз, когда цикл завершает один цикл, а затем вам нужно проверить, находится ли элемент в нижней или верхней половине, если он присутствует в нижней половине, тогда вам нужно изменить конечную точку, а не запускать -point, а если в верхней половине, то изменить нижнюю точку
И еще одна важная вещь: в вашем условии while, если элемент отсутствует, он будет находиться в бесконечном цикле, поэтому ваше условие while должно быть в то время как (end_point> start_point), потому что мы меняем точки в каждом цикле.
Код для справки:
def binary_search(array,item):
start_point = 0
end_point = len(array)
array.sort()
print(array)
while end_point > start_point:
mid_point = int((start_point + end_point) / 2)
if array[mid_point] < item:
start_point = mid_point+1
elif array[mid_point] > item:
end_point = mid_point-1
elif array[mid_point] == item:
print(mid_point)
return
print("ELement is not present")
binary_search([0,99,2,6,7,8],3)
Можно сделать это путем применения CATransform3D к CALayer основного представления с CALayer вторичного представления позади него. В этом ответе я указываю на реализацию Mac этой анимации Mike Lee. Необходимо смочь снова использовать значительную часть того кода для воссоздания этого эффекта на iPhone.
Угадайте, что необходимо будет использовать блок анимации UIView с 3D вращением, преобразовывают 90 градусов, имеют Базовый вызов делегата Анимации Вы, когда это сделано, подкачайте представление с новым (3D повернутый с другой стороны) и цепочка с последними 90 градусами для нового представления...
Хотя не точно, что Вы хотите, существует две встроенных анимации, которые Вы не упоминали: UIViewAnimationTransitionCurlDown и UIViewAnimationTransitionCurlUp.
CurlUp похож на кого-то, очищает представление с самого начала к вершине, и CurlDown похож на представление, разворачивается вниз сверху экрана сверху донизу. Необходимо, по крайней мере, посмотреть на них, поскольку они просты в использовании.