#include
using namespace std;
#define MaxVertexNum 100// 最大顶点数为100
#define VertexType char//顶点域为字符型
int visited[MaxVertexNum];//标记结点是否被访问过
typedef struct enode//边表中的结点
{
int adjvex;//边表顶点域
struct enode* next;//指针域
}EdgeNode;
typedef struct vnode//顶点表
{
VertexType vertex;//顶点域
EdgeNode* firstedge;//边表头指针
}VertexNode;
typedef struct//邻接表
{
VertexNode vexs[MaxVertexNum];//节点表
int n, e;//顶点数和边数
}ALGraph;
void InsertNode(ALGraph& G, int i, int j)//在边表中插入结点
{
EdgeNode* s;
s = (EdgeNode*)malloc(sizeof(EdgeNode));//生成新边表结点s
s->adjvex = j;//邻接点序号为j
s->next = G.vexs[i].firstedge;
G.vexs[i].firstedge = s;//将新边表结点s插入到顶点Vi的边表头部
}
ALGraph CreateALGraph()//建立邻边表
{
ALGraph G;
int i, j;
cout G.n >> G.e;
cout j;
InsertNode(G, i, j);
InsertNode(G, j, i);
}
return G;
}
void DFSAL(ALGraph G, int i) //以Vi为出发点对图G搜索
{
EdgeNode* p;
cout
1665165634
查看更多评论