资源简介

#include //#define LEN sizeof(struct NODE) #define N 10 #define MAX_TYPE 10000 #define ZERO_TYPE 0 /*定义图的邻接链表*/ struct NODE /*邻接表节点的数据结构*/ { int v_num;/*邻接顶点的编号*/ int len;/*邻接顶点与该顶点的费用*/ struct NODE *next;/*下一个邻接顶点*/ }; NODE *node=new NODE[N]; /*多段邻接链表头节点*/ int cost[N];/*在多段决策中各个定点到收点的最小费用*/ int *route=new int[N];/*从原点到收点的最短路径上的顶点编号*/ int path[N];/*在阶段决策中,各个顶点到收点的最短路径上的前方顶点编号*/

资源截图

代码片段和文件信息

#include

//#define LEN sizeof(struct NODE)
#define N 10
#define MAX_TYPE 10000
#define ZERO_TYPE 0
/*定义图的邻接链表*/
struct NODE /*邻接表节点的数据结构*/
{               
int v_num;/*邻接顶点的编号*/
int len;/*邻接顶点与该顶点的费用*/
struct NODE *next;/*下一个邻接顶点*/
};
NODE *node=new NODE[N]; /*多段邻接链表头节点*/

int cost[N];/*在多段决策中各个定点到收点的最小费用*/
int *route=new int[N];/*从原点到收点的最短路径上的顶点编号*/
int path[N];/*在阶段决策中,各个顶点到收点的最短路径上的前方顶点编号*/


int fgragh(int n)
{int i;
struct NODE *pnode;
int *path=new int[n];
int min_cost*cost=new int[n];
for(i=0;i{cost[i]=MAX_TYPE;
path[i]=-1;
route[i]=0;
}
cost[n-1]=ZERO_TYPE;
for(i=n-2;i>=0;i--)
{
pnode=node[i].next;
while(pnode!=NULL){
if(pnode->len+cost[pnode->v_num]{cost[i]=pnode->len+cost[pnode->v_num];
path[i]=pnode->v_num;
}
pnode=pnode->next;
}
}
i=0;
while((route[i]!=n-1)&&(path[i]!=-1))
{

评论

共有 条评论