C# - Sorting - Insertion Sort
C# - Sorting - Insertion Sort
CODE
using System;
class Program
{
public static void Main(string[] args)
{
int[] numbers = { 12, 11, 13, 5, 6 };
Console.Write("Numbers: ");
PrintArray(numbers);
Console.Write("\nSorted Numbers: ");
PrintArray(Sort(numbers));
}
private static int[] Sort(int[] numbers)
{
for (int i = 1; i < numbers.Length; i++)
{
int key = numbers[i];
int j = i - 1;
//Move elements of numbers[0..i-1], that are greater than key to one position ahead of their current position
while (j >= 0 && numbers[j] > key)
{
numbers[j + 1] = numbers[j];
j = j - 1;
}
numbers[j + 1] = key;
}
return numbers;
}
private static void PrintArray(int[] numbers)
{
for (int i = 0; i < numbers.Length; i++)
{
Console.Write(numbers[i] + " ");
}
}
}
Comments
Post a Comment