Keeping track of boolean data-Collection of common programming errors

I need to keep track of n samples. The information I am keeping track of is of boolean type, i.e. something is true or false. As soon as I am on sample n+1, i basically want to ignore the oldest sample and record information about the newest one.

So say I keep track of samples, I may have something like

OLDEST 0 0 1 1 0 NEWEST

If the next sample is 1, this will become

OLDEST 0 1 1 0 1 NEWEST

if the next one is 0, this will become…

OLDEST 1 1 0 1 0 NEWEST

So what is the best way to implement this in terms of simplicity and memory?

Some ideas I had:

Vector of bool (this would require shifting elements so seems expensive) Storing it as bits…and using bit shifting (memorywise –cheap? but is there a limit on the number of samples?) Linked lists? (might be an overkill for the task)

Thanks for the ideas and suggestions 🙂