#include<stdio.h>
#include<stdlib.h>
#define number_places 13
typedef struct{
int min_dist;//最短距离
int num_path;//最短路径地点个数
int *p_path;//最短路径点
}DpStruct;
void dp(int (*const data)[number_places],DpStruct *p);
int main(int argc,char **argv){
int i;
/*路线数组,从后往前,第一维表示第几个结点,第二维表示与其它结点的距离,0表示不相连 */
int data[][number_places]={
{0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0},
{2,0,0,0,0,0,0,0,0,0,0,0,0},
{0,4,2,0,0,0,0,0,0,0,0,0,0},
{0,6,9,0,0,0,0,0,0,0,0,0,0},
{0,7,5,0,0,0,0,0,0,0,0,0,0},
{0,0,0,1,5,0,0,0,0,0,0,0,0},
{0,0,0,8,4,6,0,0,0,0,0,0,0},
{0,0,0,4,4,2,0,0,0,0,0,0,0},
{0,0,0,0,0,0,9,5,0,0,0,0,0},
{0,0,0,0,0,0,4,3,5,0,0,0,0},
{0,0,0,0,0,0,0,1,7,0,0,0,0},
{0,0,0,0,0,0,0,0,0,3,5,4,0},
};
DpStruct *p=malloc
动态规划之最短路径C语言实现
最新推荐文章于 2025-06-10 16:55:15 发布