Я устанавливаю программу GapSort, для некоторых массивов код не работает. Чего мне не хватает?
void main()
{
int eX[10] = {1, 3, 49, 29, 20, 8, 28, 24, 10, 29};
int eXlen = sizeof(eX) / sizeof(int);
gapSort(eX, eXlen);
}
void gapSort(int arr[], int len)
{
int temp, gap, swap;
gap = len / 2;
while (1)
{
for (int i = 0; i < len - gap; i++)
{
swap = 0;
if (arr[i] > arr[i + gap])
{
temp = arr[i];
arr[i] = arr[i + gap];
arr[i + gap] = temp;
swap = 1;
}
}
if (swap == 0)
{
if (gap == 1)
break;
gap /= 2;
}
}
}
1, 3, 49, 29, 20, 8, 28, 24, 10, 29 для этого типа массива он не работает