1class Solution {2public:3vector<int> sortEvenOdd(vector<int> &nums) {4vector<int> odd, even;5for (int i = 0; i < nums.size(); i++) {6if (i & 1) {7odd.push_back(nums[i]);8} else {9even.push_back(nums[i]);10}11}12sort(odd.begin(), odd.end(), greater<int>());13sort(even.begin(), even.end());14for (int i = 0; i < nums.size(); i++) {15if (i & 1) {16nums[i] = odd[0];17odd.erase(odd.begin());18} else {19nums[i] = even[0];20even.erase(even.begin());21}22}23return nums;24}25};