Для присвоения класса мне необходимо объединить вектор с использованием его итераторов.
Я написал следующее, что работает с векторами, но не использует итераторы:
void MergeSort(IntVector &vec, int left, int right)
{
if (left < right)
{
int nMid = ((left + right) / 2);
MergeSort(vec, left, nMid);
MergeSort(vec, nMid + 1, right);
//merge(vec, left, nMid, right);
}
}
Iпопытался внести некоторые изменения, чтобы приспособить итераторы, но он не позволяет мне выполнять такие операции, как <и + на итераторах. </p>
void MergeSort(IntVectorIt left, IntVectorIt right)
{
if (left < right)
{
intVectorIt nMid = ((left + right) / 2);
MergeSort(left, mid);
MergeSort(mid + 1, right);
//merge(vec, left, nMid, right);
}
}
Как я могу приспособить использование итераторов в моем сортировщике слиянием?
К вашему сведению, я использую typedef:
typedef vector<int> IntVector;
typedef IntVector::iterator IntVectorIt;