Does anyone know how to compare the first and second halves of a vector? I'm trying to write a function that returns true if the second half of a vector is identical to the first half of the vector. For example, if the vector contains { 3, 5, 2, 3, 5, 2 }, the function would return true, since the first half consists of 3, 5, 2, and the second half consists of 3, 5, 2. If the vector contains { 3, 5, 2, 3, 2, 5 }, the functions returns false since the sequence 3, 5, 2 is not identical to 3, 2, 5.
If a vector contains an odd number of elements, the middle element does not affect the outcome; so { 2, 1, 2 } is OK, but { 2, 1, 1 } is not. The empty vector is accepted by default, and a vector containing only one element is acceptable.
bool halves_match(const vector<int>& v)
{
//If Halves Match
return false;
}