Как написать вектор с парой int в качестве ключа и int в качестве значения в C ++? - PullRequest
0 голосов
/ 04 сентября 2018

Я новичок в программировании, только начал изучать хеширование.
Я попытался выяснить - как карта - как мы можем назначить pair из int s в качестве ключа и int в качестве значения в векторе.

При поиске я нашел vector из pair, где first элемент pair является ключом и second элемент пары в качестве значения, но мне нужен способ сделать "pair of int" как KEY и int как ЗНАЧЕНИЕ.

Я чувствовал необходимость в этом, поскольку мне нужно было отсортировать pair из int по их значению. Любое предложение?

1 Ответ

0 голосов
/ 04 сентября 2018

Вы можете объявить такое vector следующим образом:

std::vector<std::pair<std::pair<int,int>, int>> vec;

Затем нажмите элементы, как показано ниже:

vec.push_back(std::make_pair(std::make_pair(1,2), 3));

См. Демоверсию .


Однако, если вы хотите найти определенные элементы, я бы посоветовал использовать std::map вместо std::vector. Помните, что std::map всегда будет отсортирован. Однако, поскольку std::pair является ключом, вам может потребоваться предоставить собственный компаратор.

...