1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
#include <iterator>
using namespace std;
using StrVect = vector<string>;
void show(StrVect const &vect)
{
copy(vect.begin(), vect.end(), ostream_iterator<string>(cout, " "));
cout.put('\n');
}
int main(int argc, char **argv)
{
StrVect words =
{
"alpha", "kilo", "lima", "mike",
"november", "oscar", "papa"
};
if (argc == 1) // no args: plain reverse
{
reverse(words.begin(), words.end());
show(words);
return 0;
}
using StrVect = vector<string>;
StrVect dest;
reverse_copy(words.begin(), words.end(),
back_inserter(dest));
show(dest);
}
// Displays:
// papa oscar november mike lima kilo alpha
|