每一次选择一个元素,并且将这个元素和整个数组中的所有元素进行比较,然后插入到合适的位置。这个排序的时间复杂度为O(n2)。
接下来我们用C++编写代码:
void insertion_sort(int numbers[], int length)
{
int i,j;
for(i = 1; i < length; i++)
{
int temp = numbers[i];
for(j = i; j > 0 && numbers[j - 1] >temp; j--)
numbers[j] =numbers[j - 1];
}
numbers[j] = temp;
}