using System.Collections.Generic;
public static void Main()
SortedList<int> sortedList = new SortedList<int>();
foreach (var i in sortedList)
sortedList.ModifySorted(0, 5);
sortedList.ModifySorted(1, 10);
sortedList.ModifySorted(2, 11);
sortedList.ModifySorted(3, 7);
sortedList.ModifySorted(4, 2);
sortedList.ModifySorted(2, 4);
sortedList.ModifySorted(15, 0);
sortedList.ModifySorted(0, 15);
sortedList.ModifySorted(223, 15);
foreach (var i in sortedList)
public class SortedList<T> : List<T>
public new void Add(T item)
int position = this.BinarySearch(item);
Console.WriteLine("COMPLEMENT: " + position + " : " + ~position);
this.Insert(position, item);
public void ModifySorted(T item, int index)
int position = this.BinarySearch(item);
this.Insert(position, item);