삽입정렬

자신의 위치를 찾아 삽입함으로써 정렬하는 알고리즘입니다

알고리즘 이해하기

배열의 두번째 요소부터 진행하며 그 앞쪽의 자료들과 비교하며 자신의 위치를 찾아 삽입하며 삽입이 완료되면 다음 요소부터 과정을 반복합니다.
{3, 5, 2, 1, 4} 를 정렬하는 모습을 살펴보겠습니다..


알고리즘 구현하기

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
28
29
30
31
32
33
34
35
36
37
38
39
40
import java.util.Scanner;
 
public class Sort {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int count = sc.nextInt();
        int[] arr = new int[count];
        
        for(int i=0; i<count; i++) {
            arr[i] = sc.nextInt();
        }
        
        arr = sort(arr);
        for(int i=0; i<count; i++) {
            System.out.println(arr[i]);
        }
    }
    
    private static int[] sort(int[] arr) {
        for(int i=1; i<arr.length; i++) {
            for(int j=i; j>=1; j--) {
                if(arr[j-1> arr[j]) {
                    int temp = arr[j];
                    arr[j] = arr[j-1];
                    arr[j-1= temp;
                }
            }
        }
        return arr;
    }
}
 
cs


'알고리즘 > 정렬' 카테고리의 다른 글

버블정렬(Bubble Sort)  (0) 2019.09.07

+ Recent posts