В вашем коде вы занимаете дополнительное место для операции подкачки. Тем не менее, это правильный подход, но вы можете изменить его следующим образом
int thirdArray[] = { 0, 22, 1, 10, 8, 5,39 };
int key,j;
for(int i = 1 ; i < thirdArray.length ; i++)
{
key = thirdArray[i];
j = i - 1;
while(j >=0 && key < thirdArray[j])
{
thirdArray[j+1] = thirdArray[j];
j--;
}
arr[j+1] = key;
}
}
В приведенном выше коде вы начинаете сравнивать с первого индекса с его предыдущим, если он меньше, перезаписать его значения (вы уже сохраняете текущее значение в ключе), в конце поместите его в правильную позицию. Мы можем гарантировать, что после сортировки все элементы слева будут отсортированы. Сортировка вставок имеет наихудшую производительность: О (n ^ 2) Наилучшая производительность: O (n). Меняя местами, мы добавляем больше сложности, чего вы можете избежать.