private void RestoreTargetLinks() { var targetLinks = NumbersWithConnections[TargetNumber]; var lastUp = ElementsUp.Last(); var newTargetLinks = new Tuple <int, int>(targetLinks.Item1, lastUp.Item2.Item2); NumbersWithConnections[TargetNumber] = newTargetLinks; }
private void RestoreLinksOriginalDestinationNextElement(int originalNextDestination) { var lastUp = ElementsUp.Last(); var destinationNextLinks = NumbersWithConnections[originalNextDestination]; NumbersWithConnections.Add(lastUp.Item1, new Tuple <int, int>(lastUp.Item2.Item1, originalNextDestination)); NumbersWithConnections[originalNextDestination] = new Tuple <int, int>(lastUp.Item1, destinationNextLinks.Item2); }
private void RestoreDestinationLinks() { var firstUp = ElementsUp.First(); var destinationLinks = NumbersWithConnections[DestinationNumber]; if (ElementsUp.Last().Item1 == destinationLinks.Item1) { destinationLinks = new Tuple <int, int>(firstUp.Item2.Item1, destinationLinks.Item2); } NumbersWithConnections.Add(firstUp.Item1, new Tuple <int, int>(DestinationNumber, firstUp.Item2.Item2)); NumbersWithConnections[DestinationNumber] = new Tuple <int, int>(destinationLinks.Item1, firstUp.Item1); }