Позвольте мне сначала заявить, что мне просто нужно направление, а не обязательно фактический код, если только небольшой фрагмент - это единственный способ получить точку.Динамическое добавление к структуре данных графика
Мне нужно создать структуру данных DIRECTED graph с использованием списка смежности или матрицы в C++ и добавить вершины/ребра из стандартного ввода, что означает динамически.
Я думаю, что я смог бы создать график, если бы мне удалось создать экземпляр набора Вершин сначала, а затем создать ребра и добавить их в график, но я не понимаю, как можно добавить ребро, которое содержит вершину, которая еще не была создана.
, например, первая строка из стандартного ввода гласит:
Майами -> Нью-Йорк/1100 -> Вашингтон/1000 -> Albuquerque/1700
Как я должен добавить край из Майами в Нью-Йорк, если вершина Нью-Йорка еще не добавлена на график?
Спасибо за руководство всем!
спасибо. То, что я сделал, это создать Вершину, проверить, содержит ли граф вершину на основе пользовательского метода compareTo. Если да, то граф вернет указатель на элемент в графе. Если нет, это добавит его в график. По какой-то причине я думал, что проверка должна произойти внутри метода AddEdge и поэтому не будет иметь доступ к остальным вершинам графика. Я думаю, что наилучшая практика (и, скорее всего, только практика) была бы для метода Main, в некотором смысле, отслеживать, какие вершины уже добавлены/не были добавлены. В любом случае, спасибо! – XdrummerXboy
@XdrummerXboy вы приветствуете :) – Xline