edge.c (690B)
1 #include "edge.h" 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 return e; 15 } 16 17 Edge* gen_edges(Vertex* vertices, int vtCount, int edgeCount) { 18 Edge* edges = (Edge*)malloc(sizeof(Edge) * edgeCount); 19 for(int i = 0; i < edgeCount; ++i) { 20 int idx1 = choose_random(vtCount); 21 int idx2 = choose_random(vtCount); 22 Edge e = gen_edge(idx1,idx2, vertices); 23 edges[i] = e; 24 } 25 return edges; 26 27 }