C# 计算网格上的最短路径

C# 计算网格上的最短路径,c#,multidimensional-array,C#,Multidimensional Array,我尝试在2D阵列8X8网格上计算所有路径,并让算法遍历网格上的所有正方形,并配置最短路径 见下面的代码: public static int Mileage(int[,] arr, int x, int y, int miles) { if (x < 0 || y < 0 || x > 5 || y > 5 || arr[x, y] == 2) return 99; if (arr[x, y] == 1) return miles; ar

我尝试在2D阵列8X8网格上计算所有路径,并让算法遍历网格上的所有正方形,并配置最短路径

见下面的代码:

public static int Mileage(int[,] arr, int x, int y, int miles)
{    
    if (x < 0 || y < 0 || x > 5 || y > 5 || arr[x, y] == 2) return 99; 
    if (arr[x, y] == 1) return miles;
    arr[x, y] = 2;
    miles++;
    Console.WriteLine(miles);
    int want2 = Math.Min(Mileage(arr, x - 1, y, miles), Mileage(arr, x + 1, y, miles));
    int want1 = Math.Min(Mileage(arr, x, y - 1, miles), Mileage(arr, x, y + 1, miles));
    return Math.Min(want1, want2);

}
公共静态整数英里数(整数[,]arr,整数x,整数y,整数英里)
{    
如果(x<0 | y<0 | x>5 | y>5 | arr[x,y]==2)返回99;
如果(arr[x,y]==1)返回英里数;
arr[x,y]=2;
迈尔斯++;
控制台写入线(英里);
int want2=数学最小值(英里数(arr,x-1,y,miles),英里数(arr,x+1,y,miles));
int want1=Math.Min(里程(arr,x,y-1,英里),里程(arr,x,y+1,英里);
返回Math.Min(want1、want2);
}

问题是?到什么的最短路径?你需要一个*算法*\u搜索算法