Как направить ребро в OGDF?

У меня есть простой НЕПРАВИЛЬНЫЙ граф G, и я хочу повернуть ребро, если определенное условие выполняется.
Следующий код выдает ошибку, что конструктор EdgeElement недоступен:

if(dfsNum[source->index()]>dfsNum[target->index()]){
EdgeElement ee(target, source, target->firstAdj(), source->firstAdj(), e->index());
e = ee.theEdge();
}

Это правильный способ делать то, что я делаю?

ВАЖНОЕ РЕДАКТИРОВАНИЕ:
Виноват. Я не должен перевернуть край, я должен направить его.

1

Решение

На основе документация, Вы можете удалить ребро, используя delEdge и добавьте новое ребро, используя newEdge, Ненаправленный граф действительно может быть направленным графом с двумя направленными ребрами для каждого неориентированного ребра. Если это так, удалите край, который вам больше не нужен. Например, чтобы направить ненаправленное ребро (u, v) из u в v, удалите направленное ребро (v, u), поэтому единственным остающимся направленным ребром является (u, v). Вы можете найти ребро для удаления, используя searchEdge метод.

2

Другие решения

G.reverseEdge (e) меняет ребро e на графе G.

1

По вопросам рекламы [email protected]