반응형
정렬(Sort)
정렬 유형 : 오름차순과 내림차순
정렬 방식
- 삽입정렬(insertion sort)
- 선택정렬(selection sort)
- 버블정렬(bubble sort)
선택정렬(selection sort) 알고리즘
int[] num = {9, 8, 7, 6, 5}; //오름차순 정렬하기
cycle-1
0 - 1 인덱스 비교 -> 8 9 7 6 5
0 - 2 인덱스 비교 -> 7 9 8 6 5
0 - 3 인덱스 비교 -> 6 9 8 7 5
0 - 4 인덱스 비교 -> 5 9 8 7 6
cycle-2
1 - 2 인덱스 비교 -> 5 8 9 7 6
1 - 3 인덱스 비교 -> 5 7 9 8 6
1 - 4 인덱스 비교 -> 5 6 9 8 7
cycle-3
2 - 3 인덱스 비교 -> 5 6 8 9 7
2 - 4 인덱스 비교 -> 5 6 7 9 8
cycle-4
3 - 4 인덱스 비교 -> 5 6 7 8 9
[코드작성]
for(int i=0; i<num.length-1; i++) {
for(int j=i+1; j<num.length; j++) {
if(num[i]>num[j]) {
int temp = num[i];
num[i] = num[j];
num[j] = temp;
}
}
}
버블정렬(bubble sort) 알고리즘
int[] num = {9, 8, 7, 6, 5}; //오름차순 정렬하기
cycle-1
0 - 1 인덱스 비교 -> 8 9 7 6 5
2 - 3 인덱스 비교 -> 8 7 6 9 5
1 - 2 인덱스 비교 -> 8 7 9 6 5
3 - 4 인덱스 비교 -> 8 7 6 5 9
cycle-2
0 - 1 인덱스 비교 -> 7 8 6 5 9
1 - 2 인덱스 비교 -> 7 6 8 5 9
2 - 3 인덱스 비교 -> 7 6 5 8 9
cycle-3
0 - 1 인덱스 비교 -> 6 7 5 8 9
1 - 2 인덱스 비교 -> 6 5 7 8 9
cycle-4
0 - 1 인덱스 비교 -> 5 6 7 8 9
[코드작성]
for(int i=0; i<num.length; i++) {
for(int j=1; j<num.length-i; j++) {
if(num[j-1]>num[j]) {
int temp = num[j-1];
num[j-1] = num[j];
num[j] = temp;
}
}
}
반응형
'Back-End > Java' 카테고리의 다른 글
Java(3) (0) | 2023.03.15 |
---|---|
Java 예제(1) (0) | 2023.03.14 |
Java(2) (0) | 2023.03.14 |
댓글