Я работаю с алгоритмом сортировки вставок. Как вы знаете, нам нужно сравнить элементы массива с предыдущими элементами массива. Я пытаюсь сделать это с помощью вложенных циклов:
scanf("%d", &size); //gets array size
int array[size];
int temp = 0;
for (int i = 0; i < size; i++) {
scanf("%d", &array[i]);
} // Takes the index of array.
/*
Sorting part begins.
*/
for (int j = size - 1; j <= 0; j--) {
int pseudoJ;
pseudoJ = j;
while (1) {
if (array[pseudoJ] < array[pseudoJ - 1]) {
temp = array[pseudoJ];
array[pseudoJ] = array[pseudoJ - 1];
array[pseudoJ - 1] = temp;
pseudoJ--;
} else
break;
}
}
/*
* Sorting Par Ends.
*/
Предположим, что ввод: 3(Array Elements)>3>2>1
,
Я ожидал выход 1>2>3
, но вывод все еще 3>2>1
.