Массив с элементами, содержащими подэлементы? - PullRequest
1 голос
/ 15 марта 2019

Я довольно новичок в языке C ++, и мне любопытно, есть ли пункт, который будет работать для меня.Array s хранить несколько элементов.Как я верю, dictionary s (или map s) хранят предметы и идентификаторы для них.Там также коллекции.Тем не менее, я заинтересован в более древовидном формате для массива.У меня есть много элементов, которые нужно хранить в массиве, но каждый из этих элементов также должен легко ссылаться на подэлементы, например:

    Jason
      /\
   Age  Weight
    |      |
   14     140

Мне интересно, есть ли элемент, которыйбудет соответствовать моим потребностям для этого.Как вы можете видеть в приведенной выше модели, у меня есть элемент (Джейсон) с несколькими подмоделями (например, дерево).

Моя программа случайным образом создает людей с этими атрибутами (возраст, вес,и имя), и поэтому у меня не может быть определенного массива для каждого человека, так как я не знаю, сколько их будет.Есть ли способ держать эти деревья для легкого доступа?

1 Ответ

3 голосов
/ 15 марта 2019

Вы можете просто создать структуру персонажа.

struct Person
{
    std::string name;
    int age;
    int weight;
};

std::vector< Person > persons;
persons.emplace_back( Person() ); // with your variables;

Если вы не хотите, чтобы в вашем массиве был ТОЧНО тот же человек, используйте std::set (ассоциативный контейнер) вместо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...