Those are all fine. Actually, I forgot that sort was in <algorithm>. I was just recalling some of the horrors I've seen due to pre-C++11 fanciness. There seems to be a temptation for C++ programmers to overuse clever tricks. Luckily, with C++11 fewer tricks are necessary.
Unfortunately, the gamedev industry will probably be stuck with pre-C++11 for another decade.
My brain space is limited, so I use it sparingly. Memorizing which header file provides which function is something I've left out. That's what IDEs and Google are for. ;)
for (const auto& element : collection) { }
What's wrong with <algorithm>? I use it all the time for sort, swap, and random_shuffle comes up more frequently than I expect.