Middle
222
Hoe voer je de operatie uit om een element vanaf het begin uit een vector te verwijderen, als de volgorde van de elementen niet belangrijk is?
Antwoord van AI
sobes.tech AI
Een efficiënte manier is om het laatste element van de vector naar voren te verplaatsen en vervolgens het laatste element te verwijderen.
#include <vector>
#include <algorithm> // Voor std::swap
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
if (!vec.empty()) {
std::swap(vec.front(), vec.back()); // Verplaats het laatste element naar voren
vec.pop_back(); // Verwijder het laatste (nu het oorspronkelijke eerste)
}
// vec is nu zonder het oorspronkelijke eerste element, de volgorde maakt niet uit.
return 0;
}
Deze aanpak heeft een complexiteit van O(1), in tegenstelling tot O(n), dat zou zijn bij gebruik van vec.erase(vec.begin()).