Я реализовал график, используя список смежности, сейчас я пытаюсь реализовать функцию removeEdge.Я смог сделать это с помощью матрицы смежности, но это немного сбивает меня с толку, что мне делать.
Это то, что я имею до сих пор, но стереть часть не так, поэтому просто нужна помощь в том, что делать.
/*
* C++ Program to Implement Adjacency List Graph Implementationn UNDIRECTED
*/
#include <iostream>
#include <vector>
const int V = 5;
std::vector<int> adj[V];
void addEdge(int u, int v) {
adj[u].push_back(v);
adj[v].push_back(u);
}
void removeEdge(int u, int v) {
adj[u].erase(v);
adj[v].erase(u);
}
void print() {
for (int v = 0; v < V; ++v) {
std::cout << "\n Adjacency list of vertex "
<< v << "\n head ";
for (auto x : adj[v])
std::cout << "-> " << x;
}
std::cout << "\n";
}
int main() {
int V = 5;
addEdge(0, 1);
addEdge(0, 4);
addEdge(1, 2);
addEdge(1, 3);
addEdge(1, 4);
addEdge(2, 3);
addEdge(3, 4);
print();
removeEdge(2, 3);
print();
std::cin.get();
}
Если есть предложения, я буду очень признателен.