>  기사  >  Java  >  Java는 절반 정렬 알고리즘을 구현합니다.

Java는 절반 정렬 알고리즘을 구현합니다.

高洛峰
高洛峰원래의
2017-01-17 13:24:061468검색

이진 삽입 정렬은 삽입 정렬 알고리즘을 개선한 것입니다. 정렬 알고리즘 중에 요소는 이전에 정렬된 시퀀스에 연속적으로 삽입됩니다. 전반부는 정렬된 순서이므로 삽입점을 순서대로 검색할 필요가 없으며 삽입점 검색 속도를 높이기 위해 절반 검색 방법을 사용할 수 있습니다.

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에서 반감 정렬 알고리즘을 배우는 데 도움이 되기를 바랍니다.

Java의 반 정렬 알고리즘 구현과 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.