图的头文件(C语言).docx

图的头文件(C语言).docx

ID:51701672

大小:31.58 KB

页数:3页

时间:2020-03-15

图的头文件(C语言).docx_第1页
图的头文件(C语言).docx_第2页
图的头文件(C语言).docx_第3页
资源描述:

《图的头文件(C语言).docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、#include#includetypedefintAdjType;typedefstruct{charinfo;intmark;}VexType;typedefVexType*Vertex;typedefAdjType*Adj;typedefstruct{intn;Vertexvexs;Adj*arcs;}GraMatrix;typedefGraMatrix*Graph;GraphcreateGraph(intn){Graphg;inti,j;charx;g=(Graph)malloc(sizeof(GraMatrix));g->n=n;g->

2、vexs=(Vertex)malloc(sizeof(VexType)*n);printf("输入顶点");for(i=0;ivexs[i].info);g->vexs[i].mark=0;}g->arcs=(Adj*)malloc(sizeof(Adj)*n);for(i=0;iarcs[i]=(Adj)malloc(sizeof(AdjType)*n);printf("输入矩阵第%d行",i);for(j=0;jarcs[i][j]);}

3、returng;}intisNullGraph(Graphg){return(g->n==0);}VertexfirstVertex(Graphg){return(g->vexs);}VertexnextVertex(Graphg,Vertexvi){if(vi-g->vexs==g->n-1)returnNULL;elsereturn(vi+1);}VertexsearchVertex(Graphg,charvalue){inti;for(i=0;in;i++){if(g->vexs->info==value)return(g->vexs);g->vexs++;}}Vert

4、exfirstAdjacent(Graphg,Vertexv){inti,j;i=v-g->vexs;for(j=0;jn;j++)if(g->arcs[i][j]!=0&&g->arcs[i][j]!=10000)return(g->vexs+j);}VertexnextAdjacent(Graphg,Vertexvi,Vertexvj){inti,j,k;i=vi-g->vexs;j=vj-g->vexs;for(k=j+1;kn;k++)if(g->arcs[i][k]!=0&&g->arcs[i][k]!=10000)return(g->vexs+k);ret

5、urnNULL;}voiddfs(Graphg,Vertexv){Vertexv1;v->mark=1;printf("%c",v->info);for(v1=firstAdjacent(g,v);v1!=NULL;v1=nextAdjacent(g,v,v1))if(v1->mark==0)dfs(g,v1);}voiddft(Graphg){Vertexv;intx;for(v=firstVertex(g);v!=NULL;v=nextVertex(g,v)){x=v->mark;if(v->mark==0)dfs(g,v);}printf("");}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。