Мне нужна структура, подобная QMap, но без сортировки по ключам, поэтому, если я сначала вставлю туда элемент, я могу рассчитывать, что этот элемент будет раньше всех остальных. И вставьте пару до или после указанного элемента. Есть ли у Qt такое?
QMap
реализован в виде дерева, что означает, что порядок вставки делает не иметь значение. Похоже, что вы ищете очередь. Однако, если вам нужен контейнер, который можно повторять как в порядке вставки, так и в то же время получать к нему доступ через определенный ключ, то Qt не имеет такой структуры для вас.
Это может помочь вам:
Я использую
QList<QPair<key,value>>
для достижения этой цели. Но поиск занимает больше времени, так как вам нужно будет перебрать QList и использовать QPair.first для поиска нужного элемента.
edit: если вам не нужно, чтобы он взаимодействовал с другими API, вы можете использовать QVector для замены QList, который быстрее согласно официальному Qt