Sobes.tech
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ı.