#include <stdio.h>
#include <malloc.h>
#define true 1
#define false 0
#define INFINITY 1000000
#define MaxVertexNum 100
#define MaxArcNum 100
struct ArcNode {
int vname;
int dist;
struct ArcNode* Next;
};
struct VerNode {
struct ArcNode* First;
};
struct GraphStruct {
int vexnum, arcnum;
struct VerNode list[MaxVertexNum];
int Visited[MaxVertexNum];
};
struct QueueStruct {
int capacity;
int rear, front;
int Array[MaxVertexNum];
};
typedef struct ArcNode* Arc;
typedef struct GraphStruct* Graph;
typedef struct QueueStruct* Queue;
void printfError();
Graph createGraph();
void initializeGraph( Graph G );
Arc createArcNode( int vname, int dist );
void BFS( Graph G, int u );
void DFS( Graph G, int u );
void enQueue( Queue q, int u );
int deQueue( Queue q );
Queue createQueue();
void initializeQueue( Queue q );
int main( void ) {
Graph G = createGraph();
int i = 0;
int V1, V2, dist
有向图---邻接表(BFS+DFS)
最新推荐文章于 2023-09-04 15:59:19 发布
这篇博客通过C语言实现了有向图的邻接表结构,并提供了BFS和DFS两种遍历算法。代码中创建了GraphStruct结构体来存储图的相关信息,并用QueueStruct结构体实现队列进行BFS。同时,文章还展示了如何从文件读取图的边信息并进行遍历操作。
摘要由CSDN通过智能技术生成