一条边有两个点,first point和second point。输入若干条边,将这些边分组,每一组中的边能首尾相连成一个图形。
例如,ABC三条边,A边的second point 是B边的first point,B边的second point是C边的first point, 同时C边的second point是A边的first point, 则ABC构成一个三角形。
代码如下:
void groupEdges(vector<MyEdgeTpye> &edges) noexcept {
std:unordered_map<std::pair<int, int>, size t, myHash> firstPointMap;
firstPointMap.reserve(edges.size());
for (size_t edge_id = 0; edge_id < edges.size();edge_id ++){
auto firstPoint