lambda

#include <algorithm>
#include <functional>
#include <iostream> 
#include<string>
#include<vector>
#include <algorithm>
using namespace std;
void construct(vector<int>&v,int k) {
    auto compare = [](int k) { return [k](int i, int j) {
        return i+k < j+j;        
    }; };
    int n{}; //
    for (k = 1; k <= n; k *= 2) {
        sort(v.begin(), v.end(), compare(k));
    }
}
int main(){
    vector<int>v(5);
    for(int i=0;i<5;i++){
        v[i]=i;
    }
    int k=0;
    construct(v,k);
}

wandbox.org