#include <iostream>
using namespace std;
const int MaxVertexNum=100;
typedef int Vertex;
typedef int WeightType;
typedef char DataType;
typedef struct ENode * PtrToENode;
typedef PtrToENode Edge;
struct ENode
{
Vertex V1,V2;
WeightType Weight;
};
typedef struct AdjVNode *PtrToAdjVNode;
struct AdjVNode
{
Vertex AdjV;
WeightType Weight;
PtrToAdjVNode Next;
};
typedef struct Vnode
{
PtrToAdjVNode FirstEdge;
DataType Data;
}AdjList[MaxVertexNum];
typedef struct GNode *PtrToGNode;
struct GNode
{
int Nv;
int Ne;
AdjList G;
};
typedef PtrToGNode LGraph;
LGraph CreateGraph(int VertexNum)
{
Vertex V;
LGraph Graph;
Graph=(LGraph)malloc(sizeof(struct GNode));
Graph->Nv=VertexNum;
Graph->Ne=0;
for(V=0;V<Graph->Nv;V++)
{
Graph->G[V].FirstEdge=NULL;
}
return 0;
}
void InsertEdge(LGraph Graph ,Edge E)
{
PtrToAdjVNode NewNode;
NewNode=(PtrToAdjVNode)malloc(sizeof(struct AdjVNode));
NewNode->AdjV=E->V2;
NewNode->Weight=E->Weight;
NewNode->Next=Graph->G[E->V1].FirstEdge;
Graph->G[E->V1].FirstEdge=NewNode;
}
int main()
{
return 0;
}
邻接表宽搜深搜
最新推荐文章于 2023-03-10 17:28:24 发布