|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#4
|
|||
|
|||
Цитата:
Флаг для того, что бы отделить логику принятия решения от кода проверки. Флаг инициализируется значением, которое говорит, что коллизий нет. Далее в цикле идет проверка на коллизии и на каждой итерации значение флага обновляется. Если коллизия найдена, то происходит прерывание цикла проверки. Теперь имеем 2 ситуации при проверке - есть коллизии или их нет. Как после цикла проверки узнать, были ли коллизии или нет? Вот тут мы снова возаращаемся к флагу. В принципе, твоя реализация тоже будет работать. Но она более запутанная, хотя и делает все тоже самое. Т.О. путем введения всего лишь одного флага мы делаем код более читабельным, что помогает в отладке. Например, мне потребовалось около 5 минут что бы понять, что делает твой код и проанализировать где там может быть проблема. В моей редакции, надеюсь, тебе потребовалось меньше минуты. |