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
}