在c语言中nextarc是什么意思,c语言求解多段图〔向前处理法〕.docx
c语言求解多段图〔向前处理法〕
#include#include#define Infinity 1000 //无穷大#define Max 45#define null 0
typedef struct ArcNode //边结点{int adjvex; //边的终点int weigh; //边的权struct ArcNode *nextarc; //下一条邻接边}ArcNode;
typedef struct VNode //顶结点{char data; //顶点ArcNode *firstarc; //第一条邻接边}VNode,AdjList[Max];
typedef struct //图{int vexnum,arcnum; //顶点数,边数AdjList vertices; //顶点集合表}Graph;
void CreatGraph(Graph *G) //建立有向图{int i,j;FILE *fp;ArcNode *p;if((fp=fopen("Init.dat","r"))==NULL) {printf("Cannot open the file!\n");exit(0);}fscanf(fp,"%d %d",&G->vexnum,&G->arcnum); //从文件中读取顶点数和边数for(i=1;i<=G->vexnum;i++) {fscanf(fp,"%c",&G->vertices[i].data); //从文件中读取顶点名称G->vertices[i].firstarc=NULL; //将第一条邻接边的地址赋为空}for(i=1;i<=(*G).arcnum;i++) {p=(ArcNode*)malloc(sizeof(ArcNode));fscanf(fp,"%d %d %d",&j,&p->adjvex,&p->weigh); p->nextarc=G->vertices[j].firstarc; //使用插表头的方法插入邻接边G->vertices[j].firstarc=p;}}
void main(){int i,j;int cost[13],d[13],q[6];int b,min;Graph *G;G=(Graph*)malloc(sizeof(Graph));ArcNode *p;CreatGraph(G);printf("The Graph:\n"); //输出有向图for(i=1;ivexnum;i++){ p=G->vertices[i].firstarc; printf("%d-->%d",i,p->adjvex);while(p->nextarc!=null){printf(" %d",p->nextarc->adjvex);p=p->nextarc;}printf("\n");} printf("12\n");
//向后处理法cost[12]=0;for(j=11;j>=1;j--){p=G->vertices[j].firstarc;min=p->weigh+cost[p->adjvex];cost[j]=min;d[j]=p->adjvex;while (p->nextarc!=null){b=p->nextarc->weigh+cost[p->nextarc->adjvex];if(bnextarc->adjvex;}p=p->nextarc;}} //找一条最小路径q[1]=1;q[5]=12;for(j=2;j<=4;j++)q[j]=d[q[j-1]];printf("a shortest way is:\n");for(i=1;i<=4;i++)printf("%d-->",q[i]);printf("%d",q[i]);
}
在c语言中nextarc是什么意思,c语言求解多段图〔向前处理法〕.docx相关推荐
- c语言里的%p的作用,C语言中geiwei=m%10什么意思,求解!
C语言中geiwei=m%10什么意思,求解!以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! C语言中geiwei=m% ...
- C语言中static的作用及C语言中使用静态函数有何好处
转自:http://www.jb51.net/article/74830.htm 在C语言中,static的作用有三条:一是隐藏功能,二是保持持久性功能,三是默认初始化为0. 在C语言中,static ...
- c语言中 printf(quot;nquot;),关于C语言 printf(quot;%d\nquot;,printf(quot;%dquot;,printf(quot;%dquot;...
luokaiwei19824级被浏览104次2013.10.11 检举 #include int main(){ int i=43; printf("%d\n",printf(&q ...
- 在众多编程语言中,你可知哪种语言的安全性更高,安全漏洞最少?
编程语言之争,一直以来是开发者社区的热议问题,因为开发者喜欢证明自己所使用的编程语言占据主导地位,尤其是安全性,只不过讨论的过程往往都伴随着双方的愤怒,最后不了了之.那么,你可知在众多热门编程语言中, ...
- c语言中const的作用面试,C语言const关键字作用
C语言中const代表着"不可变",基本和常量一样不可修改,但是应用场景不一样. 一.应用在变量 const char a='A'; a='B'; //错误,变量a的值不可以修改 ...
- c语言中switch结构,switch结构c语言
C语言中switch结构的使用 用switch结构编制程序,输入1个学生的C语言课程考试成绩(百分制整形数因为case后面不能接范围,也就是说case后面是一个确实固定的常量.用下面的方法比较好, # ...
- c语言中break语句的功能,C语言break语句
C语言中的break语句用于中断循环的执行(while,do while和for)和switch case. 在内循环的情况下,仅终止内循环的控制. C语言中有两种使用break关键字: 与switc ...
- c语言中int 3.6 =,(C语言中的常量)乐创DIY C语言讲义——3.6节
3.6 常量 常量,顾名思义就是在程序执行期间不会改变的固定值.在C语言中,常量的主要作用有两个,其一为给变量赋值,其二为与变量比较,作为判断条件. 在C语言程序中的常量有四大类,分别是整数型常量,浮 ...
- Go语言中的JSON处理 【Go语言圣经笔记】
JSON JavaScript对象简谱(JSON, Java Script Object Notation)是一种用于发送和接收结构化信息的标准协议.在类似的协议中,JSON并不是唯一的一个标准协议. ...
最新文章
- 走过求职的季节(2)-十月 龙卷风
- jquery text html width heigth的用法
- ajax formdata 获取表单数据,node处理表单文件,获取formdata的数据
- php redis linsert,LINSERT命令_视频讲解_用法示例-redis编程词典-php中文网
- linux系统程序设计
- 【Android】ActivityManager结构图
- 在标记的HREF属性中javascript:alert(this.innerHTML)会怎么样?
- 鸿蒙os界面鲁大师,鲁大师鸿蒙版下载-鲁大师 鸿蒙版v10.4.5-PC6鸿蒙网
- webform计算某几列结果_工业CAE案例实战精选|脱硫吸收塔工艺仿真计算系统
- 从文本界面安装RHEL5操作系统详解
- c++ opencv 识别车牌_python利用百度云接口实现车牌识别
- 83. 验证码(1)
- 远程计算机维修,电脑坏了不用愁,向日葵电脑远程维修省时又省力
- 第一章 Python基础
- 企业数据资产管理:数据资产目录应该如何规划
- Linux环境下安装MySQL(源码安装)
- dellr710服务器(DellR710服务器做完raid安装系统找不到磁盘)
- Java web程序设计(笔记无参考价值)
- BPM软件_财务报销流程管理解决方案_K2工作流引擎
- smtp java 抓包_[Wireshark]_003_电子邮件抓包分析
热门文章
- eclipse远程调试jar包
- spring配置文件application.properties配置项及含义
- python之解析 yaml配置文件时TypeError: string indices must be integers
- 本地生活O2O商机的平台战略分析
- append() 函数--R语言
- MFC GDI图形的那些事
- ps负空间合成海报详细步骤,负空间合成海报怎么做?
- Pock 0.8.1 中文版 (在TouchBar中显示Dock栏图标)
- Pocket|战略投资Web3生态的价值将逐步体现
- 企业微信把人移出会有显示吗?如何移出?