-2
我試圖返回由Djikstra的算法使用數組跟蹤的整個路徑,但不知何故它只返回結束節點,但是當我用相同的方法打印值,它打印正確的值。數組只返回結束值在c#
public int[] PrintPath(int[] path, int j, int src)
{
int[] trace = new int[14];
int i = 0;
if (path[j] == -1)
return path;
PrintPath(path, path[j], src);
Console.Write("{0}", j + 1);
trace[i] = j + 1;
i++;
return trace;
}//PrintPath
源節點:1,目的地節點:10
預期輸出:1 13 7 9 10
實際陣列輸出:0 10 10 10 10 10 10 10 10 10 10 10 10 10
能否請您詳細解釋問題 –
爲什麼不調試你的方法並檢查是什麼導致你的問題? – Badiparmagi
我已經使用了djikstra的算法,並且在上面貼出的方法中打印了到達目的地所用的最短路徑。我試圖將所有這些節點存儲在一個數組中並將其傳遞給另一個函數。但是,只有最終節點/頂點才被存儲在整個數組中。 –