Ich habe diesen Code für den graph.This Code geschrieben ist erfolgreich kompilieren, aber wenn ich es laufen zeigt Segmentation fault (core dumped)
C++ Fehler: Segmentation fault (core dumped)
Dieser Code neben der grafischen Darstellung wird Drucken mit Printgraph function.How um diesen Fehler zu lösen?
class graph{
public:
std::vector< std::vector<int> > list;
int n;
graph(int n){
this->n=n;
list.resize(n);
}
void addEdge(int a,int b){
list[a].push_back(b);
list[b].push_back(a);
}
void printGraph(){
std::vector< std::vector<int> >::const_iterator vertex;
std::vector<int>::const_iterator adjacent;
int i=0;
for(vertex=list.begin();vertex != list.end() ; ++vertex)
{
std::cout<<"Adjacent of "<<i<" is : ";
for(adjacent = vertex->begin();adjacent != vertex->end();++adjacent){
std::cout<<*adjacent<<" ";
}
i+=1;
std::cout<<"\n";
}
}
};
main(){
graph gh(5);
gh.addEdge(1,2);
gh.addEdge(1,3);
gh.addEdge(2,4);
gh.addEdge(2,5);
gh.addEdge(3,5);
gh.addEdge(4,5);
gh.addEdge(4,6);
gh.addEdge(5,6);
gh.printGraph();
return 0;
}
Haben Sie einen Debugger ausprobiert? –
Was ist Debugger? –
[Ein Debugger ist ein Software-Tool] (https://en.wikipedia.org/wiki/Debugger), mit dem Sie die Ausführung eines Programms steuern und dessen Status überprüfen können. – user4581301