Junior — Middle
113
Dizinin sırası önemli değilse, rastgele bir öğeyi dizi (vektör) üzerinde sabit zamanda nasıl silebilirsiniz?
AI'dan gelen yanıt
sobes.tech yapay zeka
Если порядок элементов в массиве (векторе) не важен, можно удалить произвольный элемент за постоянное время, заменив удаляемый элемент последним элементом массива и затем уменьшив размер массива на 1.
Это позволяет избежать сдвига всех последующих элементов, что обычно занимает линейное время.
Пример на C++:
#include <vector>
void removeAt(std::vector<int>& vec, size_t index) {
if (index >= vec.size()) return;
vec[index] = vec.back(); // заменяем удаляемый элемент последним
vec.pop_back(); // удаляем последний элемент
}