数据结构--图的广度优先遍历

本文介绍了数据结构中的图的广度优先遍历,包括邻接矩阵和邻接表两种表示方法,并展示了对应的运行结果。
摘要由CSDN通过智能技术生成

数据结构–图的广度优先遍历

邻接矩阵:

#include <stdio.h>

#define MAXVEX 20           //最大顶点数 
#define FINITY 100          //代表    ∞ 
typedef char VertexType;    //顶点类型

//邻接矩阵存储结构
typedef struct{
    VertexType vexs[MAXVEX];    //顶点数组 
    int arc[MAXVEX][MAXVEX];    //边的权值 
    int numVertexes,numEdges;   //实际顶点数和边数 
}MGraph;

//循环队列
typedef struct{
    int Queue[MAXVEX];
    int first;
    int rear;
}SqQueue;

//循环队列初始化
void InitQueue(SqQueue *Q){
    Q->first=0;
    Q->rear=0;
} 

//循环队列是否为空
int QueueEmpty(SqQueue Q){
    return Q.first==Q.rear;
} 

//入队
void EnQueue(SqQueue *Q,int e){
    if((Q->rear+1)%MAXVEX==Q->first)
        return;
    Q->Queue[Q->rear]=e;
    Q->rear=(Q->rear+1)%MAXVEX;
}

//出队
void DeQueue(SqQueue *Q,int *e){
    if(Q->rear==Q->first)
        return;
    *e=Q->Queue[Q->first];
    Q->first=(Q->first+1)%MAXVEX;
} 

//创建邻接矩阵
void Create(MGraph *G){

    int i,j;

    printf("输入顶点数和边数:\n&#
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值