操作用邻接表存储的图
来源:互联网 发布:st单片机仿真器 编辑:程序博客网 时间:2024/06/03 04:42
int OutDegree(ALGraph *G,int v){ ArcNode *p; int n=0; p=G->adjlist[v].firstarc; while (p!=NULL) { n++; p=p->nextarc; } return n;}//输出图G中每个顶点的出度void OutDs(ALGraph *G){ int i; for (i=0; i<G->n; i++) printf(" 顶点%d:%d\n",i,OutDegree(G,i));}//输出图G中出度最大的一个顶点void OutMaxDs(ALGraph *G){ int maxv=0,maxds=0,i,x; for (i=0; i<G->n; i++) { x=OutDegree(G,i); if (x>maxds) { maxds=x; maxv=i; } } printf("顶点%d,出度=%d\n",maxv,maxds);}//输出图G中出度为0的顶点数void ZeroDs(ALGraph *G){ int i,x; for (i=0; i<G->n; i++) { x=OutDegree(G,i); if (x==0) printf("%2d",i); } printf("\n");}//返回图G中是否存在边<i,j>bool Arc(ALGraph *G, int i,int j){ ArcNode *p; bool found = false; p=G->adjlist[i].firstarc; while (p!=NULL) { if(p->adjvex==j) { found = true; break; } p=p->nextarc; } return found;}
(2)main函数:#include"head.h"int main(){ ALGraph *G; int A[7][7]= { {0,1,1,1,0,0,0}, {0,0,0,0,1,0,0}, {0,0,0,0,1,1,0}, {0,0,0,0,0,0,1}, {0,0,0,0,0,0,0}, {0,0,0,1,1,0,1}, {0,1,0,0,0,0,0} }; ArrayToList(A[0], 7, G); printf("(1)各顶点出度:\n"); OutDs(G); printf("(2)最大出度的顶点信息:"); OutMaxDs(G); printf("(3)出度为0的顶点:"); ZeroDs(G); printf("(4)边<2,6>存在吗?"); if(Arc(G,2,6)) printf("是\n"); else printf("否\n"); printf("\n"); return 0;}
0 0
- 操作用邻接表存储的图
- 操作用邻接表存储的图
- 图——操作用邻接表存储的图
- 操作用邻接表存储的图1
- 第十二周--操作用邻接表存储的图
- 项目2-操作用邻接表存储的图
- 项目2 - 操作用邻接表存储的图
- 项目二-操作用邻接表存储的图
- 第十二周项目-- 操作用邻接表存储的图
- 第十二周-操作用邻接表存储的图
- 第十二周 操作用邻接表存储的图
- 第十一项目二 操作用邻接表存储的图
- 操作用 邻接表所用的图
- 第十二周 图 项目2--操作用邻接表存储的图
- 【图项目2 - 操作用邻接表存储的图——第12周】
- 2015年大二上-数据结构-图-1-(2)操作用邻接表存储的图
- 数据结构实践——操作用邻接表存储的图
- 第十二周--项目二--操作用邻接表存储的图
- IOS响应者链,事件传递和阻断
- hdu 4034 Graph(深化最短路floyd)
- intellij code style setting(xml)
- K60 FlexBus总线液晶调试 SSD1289(ID8989)液晶 补充:FlexBus总线驱动成功
- 最终排名
- 操作用邻接表存储的图
- 黑马程序员——Foundation框架——NSFileManager介绍及使用
- 继承中的构造方法的问题
- matlab批处理读取图像文件和批写图像文件
- ORB特征点检测
- C#~构造方法
- oracle的授创建表和视图还有session、查询、触发器 、 seq 等的权限,
- Android性能优化之常见的内存泄漏
- Android SwipeRefreshLayout官方下拉刷新控件介绍(与知乎Android客户端下拉刷新一样!!)