Я пытаюсь удалить самый большой элемент int в векторе и вставить его в новый вектор. У меня уже есть int, представляющий наибольшее число в векторе, и один, представляющий позицию этого числа.
Вот мой код:
vector2.push_back(highest);
vector1[highestpos] = vector1[vector1.size()-1];
vector1[vector1.size()-1] = highest;
vector1.pop_back();
Но он возвращает ошибку.Что-то не так с этим кодом?
РЕДАКТИРОВАТЬ :::::: ЗДЕСЬ БОЛЬШЕ МОЕГО КОДА.Ошибка, которую я получаю, является ошибкой утверждения, которая говорит, что векторный индекс находится вне диапазона.
while(vector1.size() > 0)
{
highest = 0;
for (int i = 0; i < vector1.size(); i++)
{
if (vector1[i] > highest)
{
highest = vector1[i];
int highestpos = i;
}
}
vector2.push_back(highest);
vector1[highestpos] = vector1[vector1.size()-1];
vector1[vector1.size()-1] = highest;
vector1.pop_back();
}