I had an interview for a Jr. development job and he asked me to write a procedure that takes an array of ints and shoves the zeroes to the back. Here are the constraints (wh
This is O(n) so it may be what he's looking for:
auto arrBegin = begin(arr); const auto arrEnd = end(arr); for(int i = 0; arrBegin < arrEnd - i; ++arrBegin){ if(*arrBegin == 0){ i++; *arrBegin = *(arrEnd - i); } } std::fill(arrBegin, arrEnd, 0);