Я пишу программу на C ++, в которой мне понадобится контейнер со следующими характеристиками:
- Это в основном FIFO
- Я помещаю элементы в конец
- Я возьму элементы сверху
- Я возьму элементы после поиска
Если потребуются только три условия, то я думаю, что очередь быть идеальным.
Однако иногда мне приходится вынимать элементы в зависимости от их значений. Например, скажем, у меня есть элементы {1,2,3,4}
, я могу сделать take(2)
, и полученный контейнер должен быть {1,3,4}
В других случаях дубль будет происходить только сверху.
Каким будет лучший или рекомендуемый способ реализовать это с учетом таких проблем, как производительность?