public void Lab1() { var node = new TreeNode(); node.Insert(new Lab1.Student { Card = 4, City = City.Dnipro, Name = Guid.NewGuid().ToString(), Gender = Gender.Female, Year = 1 }); node.Insert(new Lab1.Student { Card = 10, City = City.Kyiv, Name = Guid.NewGuid().ToString(), Gender = Gender.Male, Year = 2 }); node.Insert(new Lab1.Student { Card = 3, City = City.Lviv, Name = Guid.NewGuid().ToString(), Gender = Gender.Female, Year = 3 }); node.Insert(new Lab1.Student { Card = 7, City = City.Kyiv, Name = Guid.NewGuid().ToString(), Gender = Gender.Male, Year = 4 }); node.Insert(new Lab1.Student { Card = 9, City = City.Kyiv, Name = Guid.NewGuid().ToString(), Gender = Gender.Female, Year = 5 }); node.Insert(new Lab1.Student { Card = 1, City = City.Vinnytsia, Name = Guid.NewGuid().ToString(), Gender = Gender.Male, Year = 5 }); var studentsAll = node.Across(node, s => s.City == City.Kyiv && s.Gender == Gender.Female && s.Year == 5).ToList(); var studentsFound = node.Across(node, s => true).ToList(); foreach (var n in studentsAll) { node.Remove(n); } var studentsAfterRemove = node.Across(node, s => true).ToList(); Print("Before", studentsAll); Print("Found", studentsFound); Print("After remove", studentsAfterRemove); }