插入排序有N-1趟排序组成,对于P=1趟到P=N-1趟,插入排序保证从位置0到位置P上的元素均为已排序的状态
插入排序为稳定的排序,其时间复杂度最差和平均都是O(n2),最好为O(n),空间复杂度为1
void InsertSort(int Array[], int size);
int main(void)
{
int A[] = {34,3,5,23,56,12,6};
int i, size = sizeof(A)/sizeof(int);
InsertSort(A,size);
for(i = 0; i < size; i++)
{
printf("%d ",A[i]);
}
printf("\n");
return 0;
}
void InsertSort(int Array[], int size)
{
int i, j;
int temp;
for(i = 1; i < size; i++)
{
temp = Array[i];
for(j = i; (j >0) && (Array[j-1] > temp); j--)
{
Array[j] = Array[j-1];
}
Array[j] = temp;
}
}