#include <iostream>
#include <stdio.h>
#include <stdbool.h>
using namespace std;
#define FALSE 0
#define true 1
//-----------无向图的邻接多重表存储表示--------
#define MAX_VERTEX_NUM 20
#define InfoType int
#define VertexType int
typedef enum {unvisited, visited} VisitIf;
typedef struct EBox {
VisitIf mark;
int ivex, jvex;
struct EBox *ilink, *jlink;
InfoType *info;
} EBox;
typedef struct VexBox {
VertexType data;
EBox *firstedge;
} VexBox;
typedef struct {
VexBox adjmulist[MAX_VERTEX_NUM];
int vexnum, edgenum;
} AMLGraph;
//-----------深度优先遍历------------
bool visited[MAX];
Staus(*VisitFunc)(int v);
void DFSTraverse(Graph G, Status(*Visit)(int v)) {
VisitFun = Visit;
for (v = 0; v < G.vexnum; ++v)
visited[v] = FALSE;
for (v = 0; v < G.vexnum; ++v)
if (!visited[v])
DFS(G, v);
}
void DFS(Graph G, int v) {
visited[v] = TRUE;
VisitFunc(v);
for (w = FirstAdjVex(G, v); w >= 0; w = NextAdjVex(G, v, w))
if (!visited[w])
DFS(G, w);
6021203152
}
int main() {
cout << "ddd";
return 0;
}
无向图的邻接多重表
最新推荐文章于 2023-08-10 21:59:51 发布