Middle
220
Wie führt man eine Operation zum Entfernen eines Elements vom Anfang eines Vektors durch, wenn die Reihenfolge der Elemente nicht wichtig ist?
Antwort von AI
sobes.tech KI
Эффективный способ - переместить последний элемент вектора в начало и затем удалить последний элемент.
#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()).