Определи переменные для левой и правой границы поиска. Изначально поставь их на концы массива, а потом просто переставляй их. Правую влево - если справа ничего нет. Левую вправо - если слева ничего нет. При новом поиске у тебя будет искаться значение в левой части массива или в правой части массива.
Надо, наоборот, всё разделять. А сваливание всего в одну кучу - это плохой стиль, что приводит потом к тому, что какое-то плохое место невозможно переделать (удалить), так как оно тянет за собой хорошие.
Adamos: ну он (@Cempl ) спрашивал "почему не однобайтовая", а я говорю, что она однобайтовая только иногда, когда используются самые частые текстовые символы (например, html-код страницы состоит из таких символов, и такого кода в инете больше, чем простого текста).
Adamos: нет, я имел в виду другое - почему одни символы кодируются двумя байтами, а другие - тремя. Чем чаще встречается символ, тем короче он кодируется в utf-8.
Это кодировка переменной длины. Самые простые символы она кодирует одним байтом, чуть посложнее - двумя, ещё сложнее - тремя, и самые сложные - четырьмя. А "сложность" связана с тем, как часто они встречаются в тексте.
syxoi: потому что всё его программирование сводится к установке и администрированию уже готовенького. А когда возникает неожиданный баг, то его решения нигде нет и там реально нужно программировать, так как устанавливать нечего.
WebDeveloper2016: ну, так используй, ты можешь вообще хоть десять версий разных поставить и использовать любую, какую надо в каждой отдельной программе. Это не винда. Просто нельзя менять python на не второй.
WebDeveloper2016: нельзя менять, они потому и разделены, что есть множество системных скриптов на втором питоне. Только в новых системах делают третий питон дефолтным (разработчики дистрибутивов), но для этого нужно все скрипты переписать на третий питон.
Разные версии питона у тебя должны быть записаны в шебанге (первая строка скрипта .py).
Если у тебя скрипт для второго питона, там пишется #!/usr/bin/env python
Если у тебя скрипт для третьего питона, там пишется #!/usr/bin/env python3
Ты и сам можешь поискать скрипты на диске (через locate или find), и там в каждом сверху записано то, чем он выполняется. Если ты поменяешь, то скрипты для второго питона станут выполняться третьим питоном, а питоны различаются и даже обычный print даст ошибку, но там в основном различие не в print, а в строках и кодировках, у них обычные строки по разному устроены.
OccamaRazor: есть rand() и srand(). rand() генерит число, а srand() просто устанавливает начальное число для генерации всех последующих функцией rand(). Если srand() (seed rand) не использовать, то при каждом запуске будут генериться одни и те же числа.
Алексей Белый: чем больше функций, тем лучше. Добавил там вариант, где в виде функций всё. Суть в том, что ты делаешь всё на функциях, а потом если нужно что-то поменять, то меняешь только соответствующую функцию. Функции можно вызывать многократно и сами они могут внутри так же содержать вызовы функций.
Да то же самое получилось. Надо по мультипликации посмотреть что-нибудь. Как профессиональные мультипликаторы делают, так и надо делать.