- 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입함.
- 배열의 두 번째 데이터 부터 연산을 시작함.
- 시간복잡도 : O(n^2)
[1회전]
[2회전]
[3회전]
[4회전]
JAVA 소스코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | public class Insertion { public void sort(int[] A){ int size = A.length; int temp = 0; int j = 0; for(int i = 1; i < size; i++){ temp = A[i]; for(j=i-1; j>=0 && temp<A[j]; j--){ A[j+1] = A[j]; } A[j+1] = temp; } } public static void main(String[] args) { // TODO Auto-generated method stub Insertion insertion = new Insertion(); int A[] = {66, 10, 1, 34, 5}; insertion.sort(A); for(int i = 0; i < A.length; i++){ System.out.println("A["+i+"] : " + A[i]); } } } | cs |
'JAVA > 기타' 카테고리의 다른 글
Java - String(문자열) .isEmpty() vs .isBlank() 차이점 (0) | 2022.12.15 |
---|---|
Springboot에서 CircuitBreaker 설명 및 사용법 (0) | 2022.11.29 |
퀵 정렬(Quick Sort) (9) | 2015.10.26 |
선택 정렬(Selection Sort) (5) | 2015.10.26 |
버블 정렬(Bubble Sort) (2) | 2015.10.25 |