Вот мой код:
DirectedGraph.h:
Код: Выделить всё
#ifndef DIRECTEDGRAPH_H
#define DIRECTEDGRAPH_H
#pragma once
#include
#include
class DirectedGraph {
private:
int numVertices;
std::vector adjacencyList;
public:
explicit DirectedGraph(const int& numVertices);
void addEdge(const int& source, const int& destination);
[[nodiscard]] bool hasEdge(const int& source, const int& destination) const;
[[nodiscard]] int getNumVertices() const;
[[nodiscard]] const std::vector& getAdjacencyList() const;
void printGraph() const;
};
#endif //DIRECTEDGRAPH_H
Код: Выделить всё
#include "DirectedGraph.h"
#include
#include
DirectedGraph::DirectedGraph(const int& numVertices) :
numVertices(numVertices), adjacencyList(numVertices) {}
void DirectedGraph::addEdge(const int& source, const int& destination) {
adjacencyList[source].push_back(destination);
}
bool DirectedGraph::hasEdge(const int& source, const int& destination) const {
return std::ranges::any_of(adjacencyList[source],
[&destination](const int& neighbor) {
return neighbor == destination;
});
}
int DirectedGraph::getNumVertices() const {
return numVertices;
}
const std::vector& DirectedGraph::getAdjacencyList() const {
return adjacencyList;
}
void DirectedGraph::printGraph() const {
for (int i = 0; i < numVertices; ++i) {
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79010892/cannot-convert-nfa-code-in-algorithm-course-in-java-to-c[/url]