Как реализовать граф и связанный с ним вопрос, например: обнаружить цикл, бипертит и т.д. без какой-либо библиотеки в одном файле C++.
#include<iostream> using namespace std; class Node { public: int data; Node* next; Node(int data) { this->data=data; this->next=NULL; } }; class AdjList{ public: Node * head; AdjList() { head=NULL; } void add (int data) { Node * newNode=new Node(data); if(head==NULL) { head=newNode; }else { Node* temp=head; while(temp!=NULL) { temp->next=newNode; temp=temp->next; } } } }; class Graph{ int v; AdjList* adjList; public: Graph(int v) { this->v=v; adjList=new AdjList[v]; } void addEdge(int src, int dest) { adjList[src].add(dest); } void print(){ for(int i=0;i<v;i++){ Node *temp = adjList[i].head; cout << i << " -> "; while(temp != NULL) { cout << temp->data << " "; temp = temp->next; } cout << endl; } } }; int main() { // create the graph given in above fugure int V = 5; Graph *graph = new Graph(V); graph->addEdge(0,1); graph->addEdge(0, 4); graph->addEdge(1, 2); graph->addEdge(1, 3); graph->addEdge(1, 4); graph->addEdge(2, 3); graph->addEdge(3, 4); // print the adjacency list representation of the above graph graph->print(); //return 0; }
Что я уже пробовал:
Я сталкиваюсь с проблемой при реализации графа без использования какой-либо библиотеки. когда я использую два трехкласса для структуры данных, у меня возникает проблема. пожалуйста кто нибудь помогите мне с этим
ZurdoDev
В чем заключается ваш вопрос?
Rick York
Две вещи помогут вам получить ответ на ваш вопрос : опишите проблему, с которой вы столкнулись. Вы ожидаете, что люди догадаются или проанализируют ваш код и поймут его? Во-вторых, не используйте текстовую речь. Если вы ожидаете, что люди будут тратить свое время, чтобы помочь вам, то по крайней мере произнесите слово "пожалуйста".
aadit sah
Извините, сэр. Я новичок здесь у меня есть проблема в функции печати в классе graph который я публикую выше
Richard MacCutchan
Какой вопрос? Вы действительно читали то, что Рик Йорк написал выше?