static void Main() { var n = int.Parse(Console.ReadLine()); var r = new List <int>(); var set = new AvlSet <int>(); for (int i = 0; i < n; i++) { var q = Array.ConvertAll(Console.ReadLine().Split(), int.Parse); if (q[0] == 0) { set.Add(q[1]); r.Add(set.Count); } else if (q[0] == 1) { r.Add(set.Contains(q[1]) ? 1 : 0); } else if (q[0] == 2) { set.Remove(q[1]); } else { r.AddRange(set.GetItems(x => x >= q[1], x => x <= q[2])); } } Console.WriteLine(string.Join("\n", r)); }
public void AVLTreeInsert(int[] data) { var set = new AvlSet <int>(); foreach (var i in data) { set.Add(i); } }
public AvlSet <int> GenAvl(int count) { var a = Gen(count); var avl = new AvlSet <int>(); foreach (var i in a) { avl.Add(i); } return(avl); }