图的邻接矩阵存储结构基本操作的实现

本文介绍了图的邻接矩阵存储结构,并展示了基本操作的实现代码,包括图的创建、遍历等操作。通过示例代码和效果演示,帮助理解这一数据结构的工作原理。
摘要由CSDN通过智能技术生成

主要代码:

/****************************************************
  @Title: 数据结构实验
  @Name: <实验7-1> 图的遍历
  @Object:
      [实验目的]
          实现图的存储结构;
          实现图的深度优先和广度优先遍历
      [实验提示]
          1. 在 graph.h 中实现图的基本操作
          2. 在 graph.h 中实现图的深度优先遍历和广度
             优先遍历           
  @Include:
      ds.h
          类C通用模块
      graph.h [*]
          图的实现
  @Usage:
      请查看"TO-DO列表",根据要求完成代码
  @Copyright: BTC 2004, Zhuang Bo
  @Author: Zhuang Bo
  @Date: 2004
  @Description:
*****************************************************/

#include <stdio.h>
#include <stdlib.h> //for system()
#include "ds.h"
#include "graph.h"

Status printvex(VexType val); //访问顶点的函数 
void main()
{
    MGraph g;

    //建立图
    CreateGraph(g);
    //printf("\n邻接矩阵:\n"); 
    PrintAdjMatrix(g); //打印邻接矩阵 

    //深度优先和广度优先遍历图
    printf("\n深度优先遍历:\n"); 
    DFSTraverse(g,0,printvex); //从顶点0开始
    printf("\n广度优先遍历:\n"); 
    BFSTraverse(g,0,printvex);

    //销毁图
    DestroyGraph(g);    

    system("pause"); //暂停
}

//打印顶点 
Status printvex(VexType val)
{
    write(val);
    return OK;
}

/*
  Name: 图的邻接矩阵存储结构 
  Copyright: BTC 2004
  Author: Zhuang Bo
  Date: 2004
  Description: 
*/

#ifndef GRAPH_H_INCLUDED
#define GRAPH_H_INCLUDED
#define MAXQSIZE 64 
#include <stdio.h>
#include "ds.h"

///////////////////////////////////////////////////////////
//图的邻接矩阵表示
#define MAX_VERTEX_NUM 20 //最大顶点数
#define VexType char //顶点类型
#define ArcType int
#define INFINITY INT_MAX  //无穷大 
#define ElemType int
typedef struct {
    VexType  vexs[MAX_VERTEX_NUM]; //顶点向量 
    ArcType  arcs[MAX_VERTEX_NUM][MAX_VERTEX_NUM]; //邻接矩阵 
    int     
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值