private static Halves <T> Halves <T>(List <T> games) { var halves = new Halves <T>(); halves.TopHalf.AddRange(games.GetRange(0, games.Count / 2)); halves.BottomHalf.AddRange(games.GetRange(games.Count / 2, games.Count / 2)); return(halves); }
private static Halves <T> CrossHalves <T>(List <T> seededParticipants) { var halves = new Halves <T>(); for (int i = 0; i < seededParticipants.Count; i += 2) { if (i % 4 == 0) { halves.TopHalf.Add(seededParticipants[i]); halves.BottomHalf.Add(seededParticipants[i + 1]); } else { halves.BottomHalf.Add(seededParticipants[i]); halves.TopHalf.Add(seededParticipants[i + 1]); } } return(halves); }