Гибридный вектор / связанный список C++

Есть ли стандартный контейнер в C++, который действует как гибрид между вектором и связанным списком. Я имею в виду структуру данных, которая преодолевает частые издержки перераспределения std::vector и потенциальное избыточное выделение памяти; вместо этого, когда структуре не хватает места, она добавляет указатель на следующий выделенный фрагмент, и только когда количество фрагментов достигает определенное значение, вся структура не фрагментируется в непрерывный новый фрагмент, а количество фрагментов возвращается к 0.

2 ответа

Решение

std::deque это ближайший стандартный контейнер к тому, что вы описываете. Однако это не совсем так (например, это должен быть массив массивов, а не список массивов, поскольку последний не разрешает доступ к элементу с постоянным временем).

В зависимости от ваших практических требований, это может быть достаточно близко.

Как уже говорилось, std::deque приближается к вашим требованиям. Я просто хочу добавить это сравнение между std::vector а также std::deque который я нашел очень полезным. Углубленное исследование Deque Container STL

Другие вопросы по тегам