И никогда не используйте std::vector <bool>
alenacpp.blogspot.ru/2005/06/vector.html
Совет #18 (Мейерс)!
Можно, например, в инте все хранить или, на крайний случай, std::bitset.
Для общего случая можно использовать циклическую очередь или подобного рода циклические контейнеры. Посмотрел первый элемент и в конец его. Все банально и просто!