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삽입 정렬 알고리즘을 처리한 후 원래의 정렬되지 않은 배열이 작은 것에서 큰 것으로 성공적으로 정렬된 것을 볼 수 있습니다. 삽입 정렬의 시간 복잡도는 O(n^2)이며, 소규모 데이터 세트를 처리할 때 성능이 더 좋습니다. 그러나 대규모 데이터 세트의 경우 삽입 정렬의 성능이 크게 떨어지며 다른 효율적인 정렬 알고리즘만큼 좋지 않습니다. 따라서 실제 개발에서는 구체적인 상황에 따라 적절한 정렬 알고리즘을 선택하는 것이 필요하다. 🎜
위 내용은 Java는 삽입 정렬 알고리즘을 작성하고 결과를 출력합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!