Middle
202
¿Cómo realizar la operación de eliminar el elemento del principio en un vector si el orden de los elementos no es importante?
Respuesta de la IA
sobes.tech AI
Эффективный способ - переместить последний элемент вектора в начало и затем удалить последний элемент.
#include <vector>
#include <algorithm> // Для std::swap
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
if (!vec.empty()) {
std::swap(vec.front(), vec.back()); // Перемещаем последний элемент в начало
vec.pop_back(); // Удаляем последний (теперь исходный первый) элемент
}
// vec теперь без исходного первого элемента, порядок неважен.
return 0;
}
Этот подход имеет сложность O(1), в отличие от O(n), которое было бы при использовании vec.erase(vec.begin()).