... и спасибо за чтение ...
Я все еще изучаю веревки, так что, пожалуйста, прощайте ... ;-)
Я пишу функцию, которая помещает тело в пространство. Сетка выполняется с использованием объектов класса Node, и каждый узел представлен следующим образом:
int id
double p
double r
Изначально я думал, что карта - это путь: с картой я могу установить связь между ключом "id" и вторым ключом (указателем на объект узла).
Примерно так:
int nodeId;
Node *node;
std::map<int, Node *> NodeMap;
Затем, когда я создаю узлы, я просто вызываю «новый» оператор. Например, в цикле я делаю что-то вроде этого:
node = new Node(i); // the node constructor sets the id to the value of i.
и я добавляю новый узел на карту:
NodeMap[i] = node;
Но .... Я понял, что мне нужно будет выполнить поиск на карте не по первому ключу (id), а по параметрам p и r (координаты узла).
Другими словами, мне нужно что-то, что возвращает идентификатор узла, учитывая значения p и r.
Карта является идеальным контейнером, если поиск выполняется с помощью целочисленного первого ключа (id).
У кого-нибудь есть предложения по решению этой конкретной проблемы?
Большое спасибо!
АСВП.