diff --git a/README.md b/README.md index 65ad44f..d9eaa22 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,105 @@ # y +#define max 100 +#define maxint 0 +typedef struct arc{ + int adj; + struct arc * next; + int info; +}arc; + +typedef struct vnode{ + int data; + arc *first; +}vnode,adj[max]; + +typedef struct{ + adj vertices; + int dingdian,bian; +}alg; + +int getvex(alg g,int n){ + for(int i=0;i> g.dingdian >> g.bian; + for(int i=0;i> g.vertices[i].data; + g.vertices[i].first=NULL; + } + int v1=0,v2=0,i,j; + for(int k=0;k> v1 >> v2; + i=getvex(g,v1);j=getvex(g,v2); + arc*p1=new arc; + arc*p2=new arc; + p1->adj=j; + p1->next=g.vertices[i].first;g.vertices[i].first=p1; + p2->adj=i; + p2->next=g.vertices[j].first;g.vertices[j].first=p2; + } + return; +} + +void dfsal(alg g,int v){ + int visited[max]; + for(int i=0;iadj; + if(visited[w]) dfsal(g,w); + p=p->next; + } +} + +typedef struct{ + int vexs[max]; + int arcs [max][max]; + int dingdian1,bian1; +}amg; + +int getvex1(amg g,int n){ + for(int i=0;i> g.dingdian1 >> g.bian1; + for(int i=0;i> g.vexs[i]; + } + for(int i=0;i> v1 >> v2; + i=getvex1(g,v1);j=getvex1(g,v2); + g.arcs[i][j]=1; + g.arcs[j][i]=g.arcs[i][j]; + } + return; +} + +void dfsam(amg g,int v){ + int visited[max]; + for(int i=0;i