邻接表存图(出边表+入边表)
来源:互联网 发布:人为什么追求卓越 知乎 编辑:程序博客网 时间:2024/05/22 14:11
#include "stdio.h"#include "stdlib.h"#include "string.h"#include "malloc.h"#define MAX 100struct ArcNode{int adjvex;//临接的边序号.ArcNode *next;//下一个节点};struct Vnode{int data;//顶点信息ArcNode *InputLine;//出边表ArcNode *OutputLine;//入边表};struct Graph{Vnode vertexs[MAX];//顶点数组int vexnum;//顶点数int arcnum;//边数};Graph G;void CreatGraph(){int i;ArcNode *pi;int v1,v2;G.vexnum=0;G.arcnum=0;printf("please input Graph's vexnum or arcnum.\n");scanf("%d %d",&G.vexnum,&G.arcnum);for(i=0;i<G.vexnum;i++){G.vertexs[i].InputLine=G.vertexs[i].OutputLine=NULL;}printf("please input partner number like X X by point to point.\n");for(i=0;i<G.arcnum;i++){scanf("%d %d",&v1,&v2);v1--,v2--;//input linepi=(ArcNode*)malloc(sizeof(struct ArcNode));pi->adjvex=v2;pi->next=G.vertexs[v1].InputLine;G.vertexs[v1].InputLine=pi;//output linepi=(ArcNode*)malloc(sizeof(struct ArcNode));pi->adjvex=v1;pi->next=G.vertexs[v2].OutputLine;G.vertexs[v2].OutputLine=pi;}}void DeleteGraph(){int i;ArcNode *pi;for(i=0;i<G.vexnum;i++){//free input linepi=G.vertexs[i].InputLine;while(pi!=NULL){G.vertexs[i].InputLine=pi->next;free(pi);pi=G.vertexs[i].InputLine;}//free output linepi=G.vertexs[i].OutputLine;while(pi!=NULL){G.vertexs[i].OutputLine=pi->next;free(pi);pi=G.vertexs[i].OutputLine;}}}int main(){CreatGraph();int i;int sum;ArcNode *pi;for(i=0;i<G.vexnum;i++){sum=0;pi=G.vertexs[i].InputLine;while(pi!=NULL){sum++;pi=pi->next;}printf("%d points Inputline is:%d\n",i+1,sum);pi=G.vertexs[i].OutputLine;sum=0;while(pi!=NULL){sum++;pi=pi->next;}printf("%d points OutputLine is %d\n",i+1,sum);}DeleteGraph();return 0;}
0 0
- 邻接表存图(出边表+入边表)
- 邻接表存图。。。
- 邻接表存图
- 邻接表存图
- 邻接表(转)
- 图(邻接表)
- 邻接表(Java)
- 邻接表(模板)
- 邻接
- 使用邻接表存图并遍历
- 邻接表与逆邻接表(数组实现)
- 邻接表中判边(邻接表+无向图)
- 图(邻接矩阵->邻接表:邻接表->邻接矩阵)
- 创建邻接表(AdjacencyList)
- 邻接数组Prim(POJ1287)
- hdu2680(邻接表+dij)
- (ljb.h)邻接表
- 数据结构---图(邻接表)
- Listview 对ViewHolder的复用
- SFGUI的乱码和设置字体
- HttpClient4.3教程 第四章 HTTP认证
- SFGUI和OpenGL的深度测试
- android4.2
- 邻接表存图(出边表+入边表)
- W8 无法打开软件帮助的补丁
- Objective-C Key-Value Observing 模式
- HttpClient4.3 教程 第五章 快速API
- 项目中遇到的问题————Flash擦写
- Windows 下编程的一些常见问题(不定期更新)
- java swing 屏保 下雪 空格键退出
- 织梦DEDEcms去掉网站顶部的空白间距方法
- 【BZOJ】【P2038】【小Z的袜子】【题解】【莫队算法】