Скопируйте код кода следующим образом:
//Сортировка прямой вставкой
void DirectInsertionSort (int* arr, int nLen)
{
интервал я, j;
для (я=1; я<nLen; я++)
{
int temp = arr[i];
для (j=i-1; j>=0; j--)
{
если (темп <приб[j])
arr[j+1] = arr[j];
еще
перерыв;
}
если (j+1 != я)
arr[j+1] = temp; //Обратите внимание, что это j+1
}
}
//Сортировка вставкой пополам
void BinaryInsertionSort(int* arr, int nLen)
{
интервал я, j;
int низкий, средний, высокий;
для (я=1; я<nLen; я++)
{
int temp = arr[i];
if (temp < arr[i-1])//Это решение не является необходимым
{
низкий = 0;
высокий = я-1;
while (low <= high) // ошибка: while( low < high) Обратите внимание, что здесь необходим знак равенства
{
средний = (низкий+высокий)/2;
если (температура <прибытие[середина])
высокий = средний – 1;
еще
низкий = средний + 1;
}
//После поиска позиции вставки с помощью вышеуказанного поиска на полпути позиция вставки будет низкой или высокой+1, а низкая равна высокой+1.
//для (j=i-1; j>=high+1; j--)
//{
// arr[j+1] = arr[j];
//}
//arr[высокий+1] = темп;
для (j=i-1; j>=low; j--)
{
arr[j+1] = arr[j];
}
arr[низкий] = температура;
}
}
}