눈으로 먼저 확인하기!
import java.util.ArrayList;
import java.util.Collections;
import java.lang.Math;
/* [의사 코드]
if(1번째 숫자와 0번째 숫자 비교 1번째 숫자가 더 작으면) {
1번째 숫자와 0번째 숫자 자리 변경
} else {
종료
}
if(2번째 숫자와 1번째 숫자 비교 2번째 숫자가 더 작으면) {
2번째 숫자와 1번째 숫자 변경
if(1번째 숫자와 0번째 숫자 비교 1번째 숫자가 더 작으면) {
1번째와 0번째 변경
} else {
종료
}
} else {
종료
}
if(3번째 숫자와 2번째 숫자 비교 3번째 숫자가 더 작으면) {
3번째 숫자와 2번째 숫자 변경
if(2번째 숫자와 1번째 숫자 비교 2번째 숫자가 더 작으면) {
2번째 숫자와 1번째 숫자 변경
if(1번째 숫자와 0번째 숫자 비교 1번째 숫자가 더 작으면) {
1번째와 0번째 변경
} else {
종료
}
} else {
종료
}
} else {
종료
}
*/
public class InSertionSort {
public static void main(String args[]) {
ArrayList<Integer> list = new ArrayList<Integer>();
// Math.random() : 0이상 1미만의 부동소숫점 값을 가져올 수 있다.
for(int index = 0; index < 30; index++){
list.add((int)(Math.random() * 100));
}
for(int i = 1; i < list.size(); i++) {
int index = i;
for(int j = i - 1; j >= 0; j--) {
if(list.get(index) < list.get(j)) {
Collections.swap(list, index, j);
index--;
continue;
} else {
break;
}
}
}
System.out.println(list);
}
}