#include <stdio.h>
#include <stdlib.h>
#define Max_Vetex_Num 100
#define MAXSIZE 20
#define STACK_SIZE 30
typedef struct {
int vexs[Max_Vetex_Num];
int arcs[Max_Vetex_Num][Max_Vetex_Num];
int vexnum,arcnum;
}Mgraph;
typedef struct Squeue{
int data[MAXSIZE];//队列内元素的最大长度
int front;//队头
int rear;//队尾
}Squeue;
//初始化队列
void InitQueue(Squeue *Q)
{
Q->front = Q->rear = 0;
}
//判断队列是否为空
int isQueueEmpty(Squeue *qu)
{
if(qu->front == qu->rear)
{
return 1;
}
else
{
return 0;
}
}
//元素入队操作
int EnQueue(Squeue *qu,int x)
{
if((qu->rear + 1) % MAXSIZE == qu->front)
{
return 0;
}
qu->rear = (qu->rear + 1) % MAXSIZE;
qu->data[qu->rear] = x;
return 1;
}
//元素出队操作
int deQueue(Squeue *qu,int *x)
{
//若队空则无法出队
if(qu->front == qu->rear)
{
return 0;
}
qu->front = (qu->front + 1) % MAXSIZE;
*x = qu->data[qu-
C语言利用图的邻接矩阵的存储方式实现有向图和无向图的广度优先搜索(BFS)
最新推荐文章于 2022-12-29 23:39:57 发布
本文介绍了使用C语言通过邻接矩阵来实现有向图和无向图的广度优先搜索(BFS)算法,详细阐述了算法步骤,并提供了具体的代码实现。
摘要由CSDN通过智能技术生成