Thursday, October 21, 2010
Thursday, October 14, 2010
Thursday, October 7, 2010
Towers of Hanoi

public class TowersOfHanoi
{
private int numDisks;
public TowersOfHanoi( int disks )
{
numDisks = disks;
}
public void solveTowers( int disks, int sourcePeg, int destinationPeg, int tempPeg)
{
if(disks == 1)
{
System.out.printf("\n%d --> %d", sourcePeg, destinationPeg);
return;
}
//recursion step -- move (disk - 1) disk from sourcePeg
//to tempPEg using destinationPeg
solveTowers(disks - 1, sourcePeg, tempPeg, destinationPeg );
//move last disk from sourcePeg to destinationPeg
System.out.printf( "\n%d --> %d", sourcePeg, destinationPeg );
//move (disks - 1) disks from tempPeg to destinationPeg
solveTowers( disks - 1, tempPeg, destinationPeg, sourcePeg);
}
}
public class TowersOfHanoiTest
{
public static void main( String args[] )
{
int startPeg = 1;
int endPeg = 3;
int tempPeg = 2;
int totalDisks = 3;
TowersOfHanoi towersOfHanoi = new TowersOfHanoi( totalDisks );
towersOfHanoi.solveTowers( totalDisks, startPeg, endPeg, tempPeg );
}
}
Subscribe to:
Posts (Atom)

