適用範圍:小規模的排序
時間複雜度:Θ(n^2)
C#實現:
int[] nums = new int[] { 23, 4, 63, 14, 34, 21, 391, 124, 1 };
int count = nums.Length;
int i;
for (i = 1; i < count; i++)
{
int key = nums[i];
int j = i -1;
while (j >= 0 && nums[j] > key)
{
nums[j+1] = nums[j];
j--;
}
nums[j+1] = key;
}