У меня есть следующий код:
// vector of elements
vector<Graphic> graphics;
// vector of indexes of the selected graphic elements
vector<int> selected_indexes;
// vector according to which the graphic elements have to be "sorted" and parsed
vector<short> order;
for (auto o : order)
{
for (auto i : selected_indexes)
{
const auto& g = graphics[i];
if (g.position() == o)
{
// parse g
}
}
}
У меня есть вектор пользовательских элементов, а также индексы элементов, которые были выбраны для синтаксического анализа, но порядок, в котором эти элементы должны быть проанализированы, зависит от их значения position()
в соответствии с третьим вектором.
Есть ли способ улучшить эти вложенные циклы, избегая повторного итерации элементов, которые будут пропущены, потому что их позиция не равна текущему порядку?