Сортировка вставками: вставьте цель в лучшую позицию, которая была сделана до сих пор.
Как и на картинке выше, предполагая, что левая сторона уже отсортирована, он вставляет «x», который находится с правой стороны, в лучшую позицию там.
위의 그림처럼 왼쪽이 정렬되었다고 가정하고 오른쪽에 있는 x를 그 정렬되있는 원소 사이의 가장 적절한 위치에 끼워 넣는 것이다.
/* insertion sort */ int* insertionSort(int * arr, int max) { //printAll(arr, 10); for (int i = 0; i < max - 1; i++) { int tempi = i; int tempj = i + 1; //printf("arr[%d] : %d \n", i, arr[i]); for (int j = i + 1; j > 0; j--) { if (arr[i] < arr[j]) { // end //printf("next\n\n"); //printAll(arr, 10); break; } else if (arr[tempi] > arr[tempj]) { // swap //printf("%d <-> %d swap!\n\n", arr[tempi], arr[tempj]); swap(&arr[tempi], &arr[tempj]); tempi--; tempj--; printAll(arr, 10); } } } return arr; }