edge.cpp (730B)
1 #include "edge.hpp" 2 #include "util.h" 3 #include <stdlib.h> 4 #include <stdio.h> 5 6 void print_edge(Edge *e) { 7 printf("v1.x = %i, v1.y = %i\nv2.x = %i, v2.y = %i", e->v1->x, e->v1->y, e->v2->x, e->v2->y); 8 } 9 10 Edge gen_edge(int idx1, int idx2, Vertex* vertices) { 11 Edge e; 12 e.v1 = &vertices[idx1]; 13 e.v2 = &vertices[idx2]; 14 e.weight = vert_dist(e.v1, e.v2); 15 return e; 16 } 17 18 Edge* gen_edges(Vertex* vertices, int vtCount, int edgeCount) { 19 Edge* edges = (Edge*)malloc(sizeof(Edge) * edgeCount); 20 for(int i = 0; i < edgeCount; ++i) { 21 int idx1 = choose_random(vtCount); 22 int idx2 = choose_random(vtCount); 23 Edge e = gen_edge(idx1,idx2, vertices); 24 edges[i] = e; 25 } 26 return edges; 27 28 }