Middle
223
Əgər elementlərin sırası vacib deyilsə, vektorun başlanğıcından elementin silinməsi əməliyyatı necə həyata keçirilir?
AI-dan cavab
sobes.tech Süni İntellekt
Effektiv bir yol, vektörün son öğesini başa taşımak ve ardından son öğeyi silmektir.
#include <vector>
#include <algorithm> // std::swap üçün
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
if (!vec.empty()) {
std::swap(vec.front(), vec.back()); // Son elementi başa köçürür
vec.pop_back(); // Son elementi (indi ilk orijinal) silir
}
// vec indi orijinal ilk element olmadan, sıra önəmli deyil.
return 0;
}
Bu yanaşmanın mürəkkəbliyi O(1)-dir, vec.erase(vec.begin()) istifadə edilərsə O(n) olardı.