이진 삽입 정렬은 삽입 정렬 알고리즘을 개선한 것입니다. 정렬 알고리즘 중에 요소는 이전에 정렬된 시퀀스에 연속적으로 삽입됩니다. 전반부는 정렬된 순서이므로 삽입점을 순서대로 검색할 필요가 없으며 삽입점 검색 속도를 높이기 위해 절반 검색 방법을 사용할 수 있습니다.
public static void halfSort(int[] array) { int low, high, mid; int tmp, j; for (int i = 1; i < array.length; i++) { tmp = array[i]; low = 0; high = i - 1; while (low <= high) { mid = low + (high - low) / 2; if (array[mid] > tmp) high = mid - 1; else low = mid + 1; } for (j = i - 1; j > high; j--) { array[j + 1] = array[j]; } array[high + 1] = tmp; } }
반접기 정렬 알고리즘의 개략도:
위는 이 기사의 전체 내용이 모든 사람이 Java에서 반감 정렬 알고리즘을 배우는 데 도움이 되기를 바랍니다.
Java의 반 정렬 알고리즘 구현과 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!