정렬 방식
삽입 정렬 insertion sort
선택 정렬 selection sort
버블 정렬 bubble sort
선택 정렬 알고리즘
9 8 7 6 5 -> 5 6 7 8 9
1) 첫 번째 자리와 나머지 자리 간의 비교
9 8 7 6 5
8 9 7 6 5
7 9 8 6 5
6 9 8 7 5
5 9 8 7 6
2) 두 번째 자리와 그 이후 나머지 자리 간의 비교
5 9 8 7 6
5 8 9 7 6
5 7 9 8 6
5 6 9 8 7
3) 세 번째 자리와 그 이후 나머지 자리 간의 비교
5 6 9 8 7
5 6 8 9 7
5 6 7 9 8
4) 네 번째 자리와 그 이후 나머지 자리 간의 비교
5 6 7 9 8
5 6 7 8 9
버블 정렬
첫 번째 자리와 두 번째 자리의 숫자를 비교 한 후 작은 수를 앞으로 보낸다.
두 번째 자리와 세 번째 자리의 숫자를 비교 한 후 작은 수를 앞으로 보낸다.
계속 이 과정을 진행한다.
만약 정렬이 안되었을 경우 다시 처음부터 시작한다.
9 8 7 6 5 -> 5 6 7 8 9
8 9 7 6 5
8 7 9 6 5
8 7 6 9 5
8 7 6 5 9
7 8 6 5 9
7 6 8 5 9
7 6 5 8 9
6 7 5 8 9
6 5 7 8 9
5 6 7 8 9
int[] su= {9,8,7,6,5};
//selection sort
for(int a=0; a<su.length-1; a++) {
for(int b=a+1; b<su.length; b++) {
if(su[a]>su[b]) { //오름차순
int temp=su[a];
su[a]=su[b];
su[b]=temp;
}//if end
}//for end
}//for end
for(int idx=0; idx<su.length; idx++) {
System.out.println(su[idx]);
}//for end
System.out.println("-------------");
//bubble sort
for(int a=3; a>=0; a--) {
for(int b=0; b<=a; b++) {
if(su[b]<su[b+1]) { //내림차순
int temp=su[b+1];
su[b+1]=su[b];
su[b]=temp;
}//if end
}//for end
}//for end
for(int idx=0; idx<su.length; idx++) {
System.out.println(su[idx]);
}//for end
'웹개발 교육 > Java' 카테고리의 다른 글
[31일] Java (16) - Overload (0) | 2022.09.07 |
---|---|
[31일] Java (15) - Method (0) | 2022.09.07 |
[30일] Java (13) - 배열 연습문제 (0) | 2022.09.06 |
[30일] Java (12) - 배열 (0) | 2022.09.06 |
[30일] Java (11) - 연습 문제 (0) | 2022.09.06 |