static void Swap(ref int e1, ref int e2)
static int[] InsertionSort(int[] array)
for (var i = 1; i < array.Length; i++)
while ((j > 1) && (array[j - 1] > key))
Swap(ref array[j - 1], ref array[j]);
public static void Main()
Console.WriteLine("Сортировка вставками");
Console.Write("Введите элементы массива: ");
var parts = Console.ReadLine().Split(new[] { " ", ",", ";" }, StringSplitOptions.RemoveEmptyEntries);
var array = new int[parts.Length];
for (int i = 0; i < parts.Length; i++)
array[i] = Convert.ToInt32(parts[i]);
Console.WriteLine("Упорядоченный массив: {0}", string.Join(", ", InsertionSort(array)));