Esempio n. 1
0
 public void Move(int numberOfHanoi, Tower destStack, Tower bufferStack)
 {
     if (numberOfHanoi > 0)
     {
         //move F(n-1) meaning grab n-1 items to the buffer and move the lagest(the one left) to destination, then move F(n-1) to destination
         Move(numberOfHanoi - 1, bufferStack, destStack);
         MoveTopTo(destStack);
         bufferStack.Move(numberOfHanoi - 1, destStack, this);
     }
 }
Esempio n. 2
0
 public void MoveTopTo(Tower destStack)
 {
     var value = _disks.Pop();
     destStack.Add(value);
 }