数据结构与算法 ~ 图 ~ 最短路径 ~ 贝尔曼-福特算法(图采用邻接矩阵储存)
/*graph---bellman-ford*/
#include<stdlib.h>
#include<stdio.h>
#define MAX 10
struct vexnode{
int visited;/*访问标志*/
}vex[MAX];
int array[MAX][MAX];/*存放权值*/
int vexnum=-1;
/*创建图的邻接矩阵*/
void create(){
int source,destination,weight,max;
int i,j;
for(i=0;i<MAX;i++)
for(j=0;j<MAX;j++)
array[i][j]=999;
printf("\n===创建图===\n");
printf("\n请输入弧的信息:起点 终点 权值(退出-1):");
scanf("%d%d%d",&source,&destination,&weight);
while (source!=-1){
array[source][destination]=weight;
array[destination][source]=weight;
/*获得当前最大的结点信息*/
max=(source>destination)?source:destination;
if (max>vexnum)
vexnum=max;
printf("\n请输入弧的信息:起点 终点 权值(退出-1):");
scanf("%d%d%d",&source,&destination,