티스토리 뷰

삽입정렬이란?

삽입 정렬(揷入整列, insertion sort)은 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는 알고리즘이다.


한마디로 배열의 1번째부터 마지막까지 반복문을 사용하여 Key로 선택해서 앞 배열들과 비교 후 자리를 바꿔주는 정렬이다.

그럼 자바로 구현해 보겠다.


항상 티스토리에서 직접 코드를 작성하기 때문에 오타는 있을 수 있다.


public static void main(String[] args) {

int[] arr = {6,12,3,2,1,3,99,323,3821,129,1};


insertionSort(arr);

System.out.println("arr : " + Arrays.toString(arr));

}


public static void insertionSort(int[] arr) {


for(int i=1; i<arr.length; i++) {


int j = i-1;

while( j>-1 && arr[j] > arr[j+1]) {

int temp = arr[j];

arr[j] = arr[j+1];

arr[j+1] = temp;


j--;

}


}

}


 내림차순 정렬을 하려면?? 눈치 채셨겠지만 while의 부호만 바꿔주면 된다.


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함