📄 breedte.java
字号:
/*
* Created on 9-okt-2004
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
package logic;
import java.util.Iterator;
import java.util.LinkedList;
/**
* @author gebruiker
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class Breedte extends ProbleemOplosser {
private LinkedList open = new LinkedList(), closed = new LinkedList();
public SpeelBordToestand getOplossing(SpeelBordToestand start, SpeelBordToestand doel)
{
solutionFinderStarted();
this.clearLists(); //zet alles op initi雔e toestand
open.addFirst(start.clone());//een kloon meegeven van de startpositie
while(open.size() > 0)
{
SpeelBordToestand teExpanderen = (SpeelBordToestand)open.getFirst();
Iterator iterator = teExpanderen.getSuccessors().iterator();
while(iterator.hasNext())
{
intNumberOfNodesExpanded++;
Object obj = iterator.next();
if(doel.equals(obj))
{
createSolutionList((SpeelBordToestand)obj);
return getFirst();
}
if(!closed.contains(obj) && !open.contains(obj))//als deze toestand nog niet voorkomt bij de closed of open statussen
{
open.addLast(obj);//voeg elke successor toe, achteraan in de rij
}
}
closed.addFirst(open.removeFirst());//de eerste, waarvan je juist de successors hebt opgevraagd, uit de 'open' lijst verwijderen
}
return null;
}
protected void clearLists()
{
super.clearLists();
open.clear();
closed.clear();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -