直接插入排序算法 就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的个数+1的有序数据。此算法适用于少量数据的排序
void insertSort( int num[], int count )
{
int i, j;
for( i = 1; i < count; i++ )//i从i=1开始
{
if( num[i] < num[i - 1] )
{
int temp = num[i];
for( j = i; j > 0; j-- ) //num[i] 前面的每一个数字和num[i]比较
{
if( num[j - 1] > temp ) //如果num[i]前面的值比num[i]大
{
num[j] = num[j - 1];//将大的值向后挪一位
}
else
{
break;
}
}
num[j] = temp; //将num[i]位置的值放到最后一次挪位置的地方
} //也就是将比num[i]大的值依次向后挪一位,将num[i]直接放到前面
}
}