9 이제 목록의 네 번째 요소인 마지막 요소가 목록의 다른 요소보다 우수한지 비교해야 합니다. 이 경우 9는 이전의 모든 요소(8, 6, 3)보다 큽니다. 목록을 정렬하는 데 사용한 알고리즘은 다음과 같습니다. - 첫 번째 요소가 정렬됩니다.
- 두 번째 요소를 왼쪽에 있는 요소와 비교합니다.
- 이 요소가 왼쪽에 있는 값보다 크면 요소가 같은 위치에 유지됩니다. 그렇지 않으면 값을 왼쪽으로 이동합니다.
- 모든 항목이 순서대로 나타날 때까지 반복합니다.
이제 정렬된 배열이 있습니다. 삽입 종류는 한 번에 한 항목씩 정렬됩니다. Java 실행 방법 insert sort in Java정렬 함수가 실행될 때마다 비교되는 두 값 중 더 큰 값이 오른쪽에 한 위치에 삽입됩니다. 이론적으로 말해도 괜찮습니다. , 하지만 Java에서는 어떻게 구현합니까? 좋은 질문입니다. 학생 성적 목록에 삽입하여 정렬하는 클래스를 작성해 봅시다. 배열 라이브러리 준비 시작하자 배열 라이브러리를 Java 프로그램으로 가져와 정렬한 후 이 라이브러리를 사용하여 목록을 콘솔에 인쇄합니다. 선언 정렬 방법 목록을 반복하고 데이터를 오름차순 >으로 정렬하는 방법을 선언하는 것으로 시작하겠습니다. 입력 배열의 요소 수를 찾는 것으로 시작하겠습니다. 이를 통해 목록의 각 항목을 통과하는 루프를 만들 수 있습니다. 목록에서 나올 때까지 반복하는 루프를 초기화합니다. 루프에서 두 개의 변수, 즉 키와 마지막 변수를 선언했습니다. Java > 변수 "key"는 현재 주문 중인 요소를 추적합니다. "마지막" 변수는 항목 왼쪽에 정렬되어야 하는 항목 수를 추적합니다. 우리 프로그램은 더 작은 요소를 찾을 때까지 왼쪽에 있는 각 요소의 "key" 값을 비교합니다. . 이것은 Java "while" 루프에서 발생합니다. 주 함수 정의 이를 실행할 때 코드, 아무 일도 일어나지 않습니다. 실제로 우리는 아직 주요 기능을 정의하지 않았습니다. int(숫자의 배열) 네트워크를 정의하는 주 함수를 정의합니다. 이 주 함수는 이 숫자를 정렬하기 위해 선언한 insertSort () 함수를 사용합니다. entrySort Java 메소드 선언 후 이 코드를 붙여넣으십시오. 메인 메서드에서 정렬하려는 숫자 목록을 선언했습니다. sortNumbers 라는 InsertionSort() 메서드를 인스턴스화했습니다. 이 방법을 사용하여 숫자 목록을 오름차순으로 정렬합니다. 이 방법은 "숫자" 벡터의 값을 변경합니다. 값을 저장할 별도의 배열을 선언하지 않았습니다. 다음으로 우리는 다음을 사용했습니다. Arrays.toString () 메서드를 사용하여 숫자 배열을 문자열로 변환합니다. < h2> 시험 복잡도삽입 정렬의 평균 케이스 복잡도는 O( n ^ 2). 이것은 정렬된 항목이 없을 때 발생합니다. 배열이 정렬되면 최상의 복잡도가 발생합니다. 이것은 O(n)의 시간 복잡도를 생성합니다. 실제로 일종의 내부 루프 이 경우 삽입은 전혀 실행되지 않습니다. 최악의 경우 O ‚Äã‚Äãsort(n ^ 2)에서 삽입이 수행됩니다. 이는 배열이 오름차순 또는 내림차순인 경우 발생합니다. 역순으로 정렬하려는 경우(즉, 오름차순에서 내림차순) 다른 모든 요소와 각 요소의 일치 ents. 결론삽입 종류는 데이터를 정렬하는 효율적인 방법입니다. orts는 목록의 두 번째 값부터 시작하여 값을 비교합니다. 이 값이 왼쪽에 있는 값보다 크면 목록이 변경되지 않습니다. 그렇지 않으면 왼쪽에 있는 요소가 더 작아질 때까지 값이 이동됩니다. 이제 Java에서 자신만의 삽입 정렬 알고리즘을 작성할 준비가 되었습니다! 더 많은 Java 학습 리소스를 찾고 있다면 다음을 확인하십시오. Java 학습 안내서 . |