#include<iostream>
#include<stdlib.h>
#include<vector>
using namespace std;
//题目信息
/*
A
/ \
B D
/\ / \
C FG H
\ /
E
*/
/*
A B C D E F G H
A 1 1
B 1 1 1
C 1 1
D 1 1 1
E 1 1
F 1 1
G 1 1
H 1 1
*/
class Node
{
public:
Node(char data=0)
{
m_cData=data;
m_bIsVisited=false;
}
char m_cData;
bool m_bIsVisited;
};
class CMap
{
public:
CMap(int capacity)
{
m_iCapacity = capacity;
m_iNodeCount= 0;
m_pNodeArray = new Node[m_iCapacity];
m_pMatrix = new int[m_iCapacity * m_iCapacity];
memset(m_pMatrix,0,m_iCapacity * m_iCapacity * sizeof(int));
}
~CMap()
{
delete []m_pNodeArray;
delete []m_pMatrix;
}
bool addNode(Node *pNode)//向图中加入顶点 (结点)
{
m_pNodeArray[m_iNodeCount].m_cData=pNode->m_cData;
m
数据结构之图的遍历代码实现
最新推荐文章于 2024-04-30 21:36:36 发布