Я пытаюсь решить проблему конкурентного программирования, и я создал метод, который возвращает парный вектор, показанный ниже:
bool warning = false;
vector<pair <int,int>> search(vector <pair <int,int>> vi){
vector <pair <int,int>>m;
if (warning){
return m;
}
bool alg = false;
if (vi.size() == 1){
m = vi;
warning = true;
}
for (int i = 0; i < vi.size()-1; i++){
if (vi[i].second >= vi[i+1].first){
alg = true;
//auto it = vi.begin() + i;
//auto it1 = vi.begin() + i + 1;
vector <int> b{vi[i].first, vi[i].second, vi[i+1].first, vi[i+1].second};
sort(b.begin(), b.end());
vi.push_back(make_pair(b[0],b[3]));
vi.erase(vi.begin() + i);
vi.erase(vi.begin() + i);
sort(vi.begin(), vi.end());
//cout << "round one";
search(vi);
break;
}
}
if (!alg){
warning = true;
m = vi;
sort(vi.begin(), vi.end());
}
}
В основном, когда я достигаю нижнего оператора, я хочу вернуть парный Vector, и немедленно выйдите из кода, потому что это то, чего я пытаюсь достичь.
Спасибо