数据结构—图的基本操作:添加节点、为有向图/无向图添加邻接矩阵、打印邻接矩阵、深度优先遍历、广度优先遍历等。
1.demo.h主函数
1.demo.cpp
#include <iostream>
#include "CMap.h"
using namespace std;
/************************************/
/*无向图节点间权值都为1:
A
/ \
B D
/ \ / \
C F G - H
\ /
E
A(0) B(1) C(2) D(3)
E(4) F(5) G(6) H(7)
*/
/************************************/
int main(void)
{
CMap *pMap = new CMap(8);//实例化对象
Node *pNodeA = new Node('A');//节点
Node *pNodeB = new Node('B');
Node *pNodeC = new Node('C');
Node *pNodeD = new Node('D');
Node *pNodeE = new Node('E');
Node *pNodeF = new Node('F');
Node *pNodeG = new Node('G');
Node *pNodeH = new Node('H');
pMap->addNode(pNodeA);//添加节点
pMap->addNode(pNodeB);
pMap->addNode(pNodeC);
pMap->addNode(pNodeD);
pMap->addNode(pNodeE);
pMap->addNode(pNodeF);
pMap->addNode(pNodeG);
pMap->addNode(pNodeH);
pMap->setValueToMatrixForUndirectedGraph(0,1);//无向图 权值
pMap->setValueToMatrixForUndirectedGraph(0,3);
pMap->setValueToMatrixForUndirectedGraph(1,2);
pMap->setValueToMatrixForUndirectedGraph(1,5);
pMap->setValueToMatrixForUndirectedGraph(