#pragma once
#ifndef ___WGraph
#define ___WGraph
//WGraph.h : 가중치 그래프 클래스
#include "AdjMatGraph.h"
#define INF 9999 //값이 INF 이상이면 간선이 없음
//가중치 그래프를 표현하는 클래스
class WGraph : public AdjMatGrapgh { //AdjMatGraph 클래스를 상속
public:
void insertEdge(int u, int v, int weight) {
if (weight > INF) weight = INF;
setEdge(w, v, weight);
}
bool hasEdge(int i, int j) { return getEdge(i, j) < INF; }
void load(const char* filename) {
FILE *fp = fopen(filename, "r");
if (fp != NULL) {
int n, val;
fscanf(fp, "%d", &n); //정점의 전체 개수
for (int i = 0; i < n; i++) {
char str[80];
fscanf_s(fp, "%s", str); //정점의 이름
insertVertex(str[0]); //정점 삽입
for (int j = 0; j < n; j++) {
fscanf(fp, "%d", &val); //간선 정보
insertEdge(i, j, val); //간선 삽입
}
}
fclose(fp);
}
}
};
#endif // !___WGraph
'Programming > DS SorceCode' 카테고리의 다른 글
HeapNode : 힙에 저장할 노드 클래스 / Kruskal의 최소 비용 신장 트리 프로그램을 위한 노드 클래스 (0) | 2019.04.01 |
---|---|
VertexSet.h : Union-Find 연산을 위한 정점 집합 클래스 구현 (0) | 2019.04.01 |
TopoSortGraph.h : 위상 정렬 기능이 추가된 인접 리스트 기반 그래프 (0) | 2019.04.01 |
SrchALGraph.h ; 탐색 기능이 추가된 인접 리스트 기반 그래프 클래스 (0) | 2019.04.01 |
SrchAMGraph : 탐색 기능이 추가된 행렬 기반 그래프 클래스 (0) | 2019.04.01 |