我正在编写一个算法来搜索网格中的一个项目。昆虫从A点移动到找到它要寻找的东西(点B)。昆虫现在需要从B点返回到A点,追踪它的步骤。
我有大约6个月的Java/编程经验,我正在从事一个类项目,所以我很感激我能得到的任何建议或指导。
发布于 2015-12-05 02:43:16
您需要的数据结构称为堆栈,它实现了LIFO (先入先出)原则.java中有一个堆栈类。
一些附加信息:Stack的方法是同步的,这会增加一些性能开销,而在软件开发中,通常会选择LinkedList。无论如何,考虑到这是一个类赋值--选择您喜欢的任何实现。
发布于 2015-12-05 02:40:38
为此,您可以使用一个简单的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]);希望这有助于提示(因为我不知道你用什么方法让你的昆虫移动和其他细节)。
https://stackoverflow.com/questions/34100581
复制相似问题