Java 삽입 정렬 구현의 샘플 코드 및 실행 결과
삽입 정렬은 간단하고 일반적으로 사용되는 정렬 알고리즘으로 실제 응용 프로그램에서 널리 사용됩니다. 이 기사에서는 Java 언어를 사용하여 삽입 정렬을 구현하는 방법을 소개하고 해당 코드 예제와 실행 결과를 제공합니다.
삽입 정렬의 기본 아이디어는 정렬할 배열을 정렬과 정렬 해제의 두 부분으로 나누는 것입니다. 처음에는 정렬된 부분에 요소가 하나만 있고 정렬되지 않은 부분의 요소가 적절한 위치에 삽입됩니다. 모든 요소가 삽입될 때까지 정렬된 부분을 순서대로 삭제합니다.
다음은 Java에서 삽입 정렬을 구현하는 샘플 코드입니다.
public class InsertionSort { public static void insertionSort(int[] arr) { int n = arr.length; for (int i = 1; i < n; i++) { int key = arr[i]; int j = i - 1; while (j >= 0 && arr[j] > key) { arr[j + 1] = arr[j]; j -= 1; } arr[j + 1] = key; } } public static void main(String[] args) { int[] arr = {5, 2, 10, 8, 3}; System.out.println("排序前:"); printArray(arr); insertionSort(arr); System.out.println("排序后:"); printArray(arr); } public static void printArray(int[] arr) { int n = arr.length; for (int i = 0; i < n; i++) { System.out.print(arr[i] + " "); } System.out.println(); } }
코드의 insertionSort
메소드는 삽입 정렬 알고리즘을 구현합니다. 외부 루프를 사용하여 정렬되지 않은 부분의 각 요소를 반복하고 정렬된 부분의 적절한 위치에 요소를 삽입합니다. 내부 루프는 정렬된 부분에서 적절한 삽입 위치를 검색하고 현재 요소보다 큰 요소를 뒤로 이동합니다. insertionSort
方法实现了插入排序算法。它使用一个外层循环遍历未排序部分的每个元素,将元素插入到已排序部分的合适位置。内层循环则是在已排序部分中寻找合适的插入位置,将比当前元素大的元素往后移动。
在main
方法中,我们定义了一个整型数组arr
,初始化了一组无序的元素。首先输出了排序前的数组,然后调用insertionSort
main
메서드에서는 정수 배열 arr
을 정의하고 순서가 지정되지 않은 요소 집합을 초기화합니다. 먼저 정렬 전 배열을 출력한 후 insertionSort
메서드를 호출하여 정렬하고 마지막으로 정렬된 배열을 출력합니다. 실행 결과는 다음과 같습니다. 排序前: 5 2 10 8 3 排序后: 2 3 5 8 10
위 내용은 Java는 삽입 정렬 알고리즘을 작성하고 결과를 출력합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!