티스토리 뷰
개요
1번부터 시작해서(0번 아님)
현재까지의 위치에서 들어가야 할 곳에 Insert하는 정렬
과정
과정1
한단계씩 해보기
public static void main(String[] args) {
int[] arr = new int[]{31, 25, 12, 22, 11};
int start = arr[1]; // 25
int back1 = arr[0]; // 31
if (start < back1) { // 시작이 더 작으니 바꾼다
int temp = back1;
back1 = start;
start = temp;
}
// 25, 31, 12, 22, 11
start = arr[2]; // 12
back1 = arr[1]; // 31
if (start < back1) { // 시작이 더 작으니 바꾼다
int temp = back1;
back1 = start;
start = temp;
}
// 25, 12, 31, 22, 11
}
과정2
일반 식 찾기
public static void main(String[] args) {
int[] arr = new int[]{31, 25, 12, 22, 11};
for (int i = 1; i < arr.length; i++) {
System.out.println(arr[i]);
// i가 1일 때 1과 0을 비교 i - 0, i - 1
// i가 2일 때 2와 1을 비교 i - 0, i - 1
/// 1과 0을 비교 i - 1, i - 2
// i가 3일 때 3과 2를 비교 i - 0, i - 1
/// 2와 1을 비교 i - 1, i - 2
/// 1과 0을 비교 i - 2, i - 3
int j = i; // 이 부분을 떠올려야 한다.
// j가 0까지 빼줍니다.
}
}
과정3
public static void main(String[] args) {
int[] arr = new int[]{31, 25, 12, 22, 11};
for (int i = 1; i < arr.length; i++) {
// j가 0까지 빼줍니다.
for (int j = i; j > 0; j--) {
System.out.printf("i:%d j:%d j-1:%d \n", i, j, j-1);
int now = arr[j]; // 25
int back = arr[j-1]; // 31
if (back > now) {
int temp = arr[j-1];
arr[j - 1] = arr[j];
arr[j] = temp;
}
}
}
System.out.println(Arrays.toString(arr));
}
완료
사용하지 않는 변수들을 제거
public static void main(String[] args) {
int[] arr = new int[]{31, 25, 12, 22, 11};
for (int i = 1; i < arr.length; i++) {
// j가 0까지 빼줍니다.
for (int j = i; j > 0; j--) {
System.out.printf("i:%d j:%d j-1:%d \n", i, j, j-1);
if (arr[j-1] > arr[j]) {
int temp = arr[j-1];
arr[j - 1] = arr[j];
arr[j] = temp;
}
}
}
System.out.println(Arrays.toString(arr));
}
Youtube
삽입정렬1 - 알고리즘 떠올리기
삽입정렬2 - 로직 구현하기
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- docker container tissue
- 2017 티스토리 결산
- docker container whale
- 도커각티슈박스
- 이직
- Linux
- docker container case
- vim
- 도커티슈박스
- shellscript
- 도커컨테이너
- 싱가폴
- 개발자
- Sh
- docker container tissue box
- docker container
- 도커티슈케이스
- 도커각티슈케이스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함