我正在编写一种搜索网格中项目的算法。昆虫从A点移动,直到找到它寻找的东西(B点)。昆虫现在需要通过回溯它的步骤从B点回到A点。
我有大约6个月的Java /编程经验,而且我正在从事课堂项目,所以我很感激我能得到的任何建议或指导。
答案 0 :(得分:1)
您可以使用简单的ArrayList。
如果x
和y
是任何实例的坐标......
从A点到B点:
#loop till insect reaches point B{
String coords = x + "," + y;
someArrayList.add(coords);
#insect move;
}
返回A点:
for(int i =0; i < someArrayList.size(); i++)
String x = someArrayList.get(i);
String[] y = x.split(","); // To separate x and y coordinates from string
#insect move to coordinate (y[0], y[1]);
希望这有助于提示(因为我不知道你用什么方法来移动昆虫和其他细节)。
答案 1 :(得分:1)
您需要的数据结构称为stack,它实现了LIFO(后进先出)原则。 java中有一个Stack类。
其他一些信息:Stack
的方法是同步的,这会增加一些性能开销,而在软件开发中,LinkedList通常会被选中。无论如何,考虑到这是一个课程作业 - 选择你喜欢的任何实现。