Copie o código do código da seguinte forma:
//Classificação de inserção direta
void DirectInsertionSort(int*arr,int nLen)
{
int eu, j;
para (i=1; i<nLen; i++)
{
temperatura interna = arr[i];
para (j=i-1; j>=0; j--)
{
if (temp <arr[j])
arr[j+1] = arr[j];
outro
quebrar;
}
se (j + 1! = eu)
arr[j+1] = temp; //Observe que este é j+1
}
}
//Inserção ordenada pela metade
void BinaryInsertionSort(int*arr,int nLen)
{
int eu, j;
int baixo, médio, alto;
para (i=1; i<nLen; i++)
{
temperatura interna = arr[i];
if (temp < arr[i-1])//Este julgamento não é necessário
{
baixo = 0;
alto = i-1;
while (low <= high) //erro: while( low <high) Observe que um sinal de igual é necessário aqui
{
médio = (baixo+alto)/2;
if (temp <arr[meio])
alto = médio - 1;
outro
baixo = médio + 1;
}
//Depois de pesquisar a posição de inserção por meio da pesquisa intermediária acima, a posição de inserção é baixa ou alta+1, e baixa é igual a alta+1.
//para (j=i-1; j>=alto+1; j--)
//{
// arr[j+1] = arr[j];
//}
//arr[alto+1] = temp;
para (j=i-1; j>=baixo; j--)
{
arr[j+1] = arr[j];
}
arr[baixo] = temp;
}
}
}