一个无向图,寻找最小代价生成树:
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <set>
using namespace std;
struct edge{
int fromvex;
int endvex;
int weight;
edge(int fv,int ev,int we):fromvex(fv),endvex(ev),weight(we){}
};
bool compare(edge a,edge b)
{
return a.weight<b.weight;
}
template<typename T>
std::ostream& operator<<(std::ostream& os, const std::vector<T>& vec)
{
for (auto& el : vec)
{
os << el << ' ';
}
return os;
}
std::ostream& operator<&l