Esempio n. 1
0
int loadEdges(FILE* fp, char* inbuf, EdgeList* adjInfo, int n, char alg) {
  int num;
  Cstring line;

  num=0;
  line = fgets(inbuf, 1024, fp);
  while (line != NULL) {
    Edge e = parseEdge(line, n);
    EdgeInfo ei;
    ei.to = e.to;
    ei.wgt = e.weight;
    adjInfo[e.from] = edgeCons(ei, adjInfo[e.from]);
    if(alg=='P') {
      EdgeInfo ei2;
      ei2.to = e.from;
      ei2.wgt = e.weight;
      adjInfo[e.to] = edgeCons(ei2, adjInfo[e.to]);
    }
    num++;
    line = fgets(inbuf, 1024, fp);
  }
  return num;
}
Esempio n. 2
0
EdgeList* intEdges(int m, char* instream, char line[1024], FILE* inbuff){
	int n = 0;
	EdgeList adjVertices[m];
	EdgeList* pointAdj = malloc(sizeof(EdgeList));
	for(int i = 1; i <=m; i++) adjVertices[i] = edgeNil; 
     while(instream != NULL){  
		 Edge e = parseEdge(line);
		 EdgeInfo P; 
		 P.to = e.to; 
		 P.wgt = e.weight;
		 adjVertices[e.from] = edgeCons(P, adjVertices[e.from]);
		 instream = fgets(line, 1024, inbuff);
		 n++;
	 }

	 pointAdj = adjVertices;
	 return pointAdj;
}