일지
자료구조...77
niamdank
2021. 4. 19. 11:03
ArrayGraph 삽입 메서드)
노드와 에지를 삽입하는 함수를 구현한다.
ArrayGraph.cpp
/// <summary>
/// ArrayGraph에 노드를 추가한다.
/// </summary>
void ArrayGraph::InsertNode()
{
if (m_nodeCount < m_nodeCapacity)
{
m_nodeCount++;
}
}
/// <summary>
/// ArrayGraph에 from -> to 인 간선을 추가한다.
/// </summary>
/// <param name="from">시작 노드</param>
/// <param name="to">끝 노드</param>
void ArrayGraph::InsertEdge(int from, int to)
{
if (from < 0 || from >= m_nodeCount || to < 0 || to >= m_nodeCount)
{
return;
}
m_graph[from][to]++;
}
main.cpp
#include <iostream>
#include "Graph/ArrayGraph.h"
// 생성한 자료구조 테스트용 메인
int main()
{
ArrayGraph graph;
graph.InsertNode();
graph.InsertNode();
graph.PrintInfo();
graph.InsertEdge(0, 1);
graph.PrintInfo();
graph.InsertEdge(1, 1);
graph.PrintInfo();
}
실행결과
----------------------
Capacity: 5
Count: 2
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
----------------------
----------------------
Capacity: 5
Count: 2
0 1 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
----------------------
----------------------
Capacity: 5
Count: 2
0 1 0 0 0
0 1 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
----------------------