首先需要了解无向图的定义
参考:https://www.cnblogs.com/wxgblogs/p/5572391.html
我们选择链表的方式进行操作。
int StartPositon;
int prePosition;
static List<PointEdge> myEdges;
static string Final_Positions = "";
public struct PointEdge {
public int currentPosition;
public int[] connectArray;
public PointEdge(int count_temp, int[] intPositon)
{
currentPosition = count_temp;
connectArray = intPositon;
}
}
public void FindTipPosition(int curPosition,int oldPosition,PointEdge edges,int step_count)
{
if (step_count == 0)
{
HightLightTips(curPosition);
Final_Positions = Final_Positions+","+curPosition.ToString();
}
else
foreach (var edge in edges.connectArray)
{
if (edge != oldPosition)
FindTipPosition(edge, curPosition, myEdges[edge], step_count - 1);
else
Debug.Log(oldPosition + "不回头走" + edge);
}
}
void Start () {
myEdges = Read("Assets/Resources/RED_PATH.txt");
Debug.Log(myEdges.Count);
//CheckData(myEdges);
FindTipPosition(0, -1, myEdges[0], 6);
Debug.Log(Final_Positions);
}
这里不知道能不能使用递归,希望有大佬能教我一下,感激!