C/C++ 图的基本操作

这篇博客详细介绍了在C/C++中如何进行图的基本操作,包括添加节点、构建有向图/无向图的邻接矩阵、打印邻接矩阵,以及实现深度优先遍历和广度优先遍历的算法。通过demo.h主函数、图的.h和.cpp类文件,以及节点的.h和.cpp文件,展示了完整的代码实现过程。
摘要由CSDN通过智能技术生成

数据结构—图的基本操作:添加节点、为有向图/无向图添加邻接矩阵、打印邻接矩阵、深度优先遍历、广度优先遍历等。

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(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值