알고리즘 with 자바

준비중..

알고리즘 with 자바

문제 해결을 위한 개발자의 필수 소양!

07 삽입 정렬(insertion sort)

# 삽입 정렬 ## 목차 --- 1. 무엇? 2. 특징? 3. 알고리즘 ## 1. 무엇? --- 기초 제자리 알고리즘의 하나. 아래와 같은 흐름 1. 정렬된 리스트와 비정렬 리스트로 나눔. 2. 비정렬 리스트 요소 하나를 정렬된 리스트에 넣는다. 3. 이를 반복한다. ## 2. 특징? --- - 구현 간단 - 추가 메모리 필요 X - 기초 정렬 중 빠름, 복잡도 O(n^2) - 안정 정렬(같은 값의 원소 순서 유지 O) ## 3. 알고리즘 --- ![클라우드스터딩-삽입-정렬](https://i.imgur.com/SOsBJt1.gif) ### 소스코드 ``` void insertionSort(int[] arr) { for(int index = 1 ; index < arr.length ; index++){ int temp = arr[index]; int aux = index - 1; while( (aux >= 0) && ( arr[aux] > temp ) ) { arr[aux+1] = arr[aux]; aux--; } arr[aux + 1] = temp; } } ```