// C#
public void InsertionSort(int[] data)
{
for (int i = 1; i < data.Length; i++)
{
for (int j = i; j > 0; j--)
{
if (data[j - 1] > data[j])
{
Swap(ref data[j - 1], ref data[j]);
}
else
{
break;
}
}
}
}
public void Swap(ref int number1, ref int number2)
{
int temp = number1;
number1 = number2;
number2 = temp;
}
// 가독성을 위해 각 기능마다 함수로 분리하면 좋지만, 지금은 편의상 간단하게 구현함