У меня есть этот код для алгоритма сортировки вставкой, и мне было интересно, есть ли диапазон, основанный на цикле, эквивалентном циклу for, который я использую.
Я вроде как запутался с тем, какИтератор цикла на основе диапазона работает по сравнению с обычными итераторами контейнера STL.просто простая замена for(auto it:x)
явно не работает.
В основном, мой вопрос заключается в том, как я могу разыменовать этот итератор на основе диапазона, чтобы получить соответствующее значение массива.это мой код сортировки вставки:
for (auto it = x.begin(); it != x.end();it++)
{
auto insertloc = std::upper_bound(x.begin(), it, *it);
std::rotate(insertloc, it, it + 1);
}
Этот код работает просто отлично, но я просто хочу знать, могу ли я заменить его для цикла на диапазон.