邻接表宽搜深搜

来源:互联网 发布:大专好专业知乎 编辑:程序博客网 时间:2024/06/03 13:14
#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;}
原创粉丝点击