Подтвердить что ты не робот

С# list <int> как вставить новое значение между двумя значениями

поэтому у меня есть список, где мне нужно постоянно добавлять новые значения, но когда мне нужно его увеличивать и вставлять между двумя значениями.

List<int> initializers = new List <int>();

initializers.Add(1);
initializers.Add(3);

чтобы инициализаторы имели 1, 3 значения.

i обработал бы новый набор чисел. инициализаторы должны будут иметь значения.

1, 5, 3, 7

и если я обрабатываю другой набор чисел, он должен стать

1, 9, 5, 13, 3, 11, 7, 15

Я знаю, как правильно генерировать введенные новые значения, мне просто нужна помощь в их вставке между существующими значениями инициализаторов без необходимости добавлять 2 или 3 петли для перемещения позиций значений.

4b9b3361

Ответ 1

List<int> initializers = new List <int>();

initializers.Add(1);
initializers.Add(3);

int index = initializers.IndexOf(3);
initializers.Insert(index, 2);

Дает вам 1,2,3.

Ответ 2

Используйте List<T>.Insert:

initializers.Insert(index, value);

Ответ 3

Вы можете просто использовать List.Insert() вместо List.Add() для вставки элементов в определенную позицию.

Ответ 4

Другим подходом, если есть вычислительно жизнеспособный способ сортировки элементов, является:

list.Insert(num);
// ...
list.Insert(otherNum);

// Sorting function. Let sort by absolute value
list.Sort((x, y) => return Math.Abs(x) - Math.Abs(y));