Sort vector by even and odd indices. c++
问题 Is there a one liner (or a simple loop-free) solution to sort a vector by its even and odd indices? Example: long entries[] = {0,1,2,10,11}; // indices 0 1 2 3 4 std::vector<long> vExample(entries, entries + sizeof(entries) / sizeof(long) ); vExample.sortEvenOdd(vExample.begin(),vExample.end()); // magic one liner I wish existed... for (int i = 0; i < vExample.size(); i++) { std::cout << vExample[i] << " "; } Now I'd like to have the following output: 0 2 11 1 10 // corresponding to indices 0