Как я уже упоминал в комментариях, вам не нужно добавлять префикс строки к каждому элементу, вы можете просто добавить его, когда что-то вычеркните из списка. Это означает, что вы можете сохранить список как список int
, а не string
.
Поскольку вы знаете количество создаваемых вами элементов, вы можете предварительно изменить размер списка при его создании, чтобы избежать перераспределения, когда заселение это. После заполнения вы можете вызвать Sort , который переключается между быстрой сортировкой, сортировкой кучи и сортировкой вставки в зависимости от количества элементов в списке.
Вот код:
void sortfunction()
{
const int numberOfItems = 500000;
var sortedList = new List<double>(numberOfItems);
Random random = new Random();
for (int i = 0; i < numberOfItems; i++)
{
var rand = random.Next(0, 99);
var num = rand / 100d;
sortedList.Add(num);
}
sortedList.Sort();
}