Sobes.tech
Junior — Middle

Əgər elementlərin sırası önəmli deyilsə, necə təsadüfi elementləri massivdən (vektor) sabit zamanda silmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

Əgər massivdə (vektor) elementlərin sırası vacib deyilsə, istənilən elementi sabit vaxtda silmək olar, silinəcək elementi massivdəki son elementlə əvəz edərək və sonra massiv ölçüsünü 1 azaldaraq.

Bu, bütün növbəti elementlərin hərəkət etdirilməsindən qaçmağa imkan verir, bu adətən xətt vaxtını alır.

C++ nümunəsi:

#include <vector>

void removeAt(std::vector<int>& vec, size_t index) {
    if (index >= vec.size()) return;
    vec[index] = vec.back(); // silinəcək elementi sonuncu ilə əvəz edir
    vec.pop_back();          // sonuncu elementi silir
}