[JAVA] 알고리즘 버블정렬 (bubble sort)
- 맨땅에코딩/알고리즘
- 2020. 9. 7.
버블정렬이란간단하게 서로 근접한 두개의 index를 비교하여 정렬하는 것
사진으로 예시를 보자
코드
public class Bubble {
public static void main(String[] args) {
int []bub = {5,3,7,9,1};
for(int a=0;a<bub.length;a++) { // 25번 반복
for(int i=0;i<bub.length-1;i++) { // i=0으로 초기화 ~ 5번만큼 반복
int j = i+1; //j = i보다 1큼 ex) i가 3번인덱스면 j는 4번인덱스
if(bub[i] > bub[j] ) { // 정렬 i가 j보다 크면 두개 값 바꿔주는 if문
int k = bub[i];
int l = bub[j];
bub[i] = l;
bub[j] = k;
}
}
}
for(int b=0;b<bub.length;b++) { //값 확인
System.out.println(bub[b]+"\n--");
}
}
}
- 배열에 임의로 값 생성
- 정렬을 한번만 할것이 아니기 때문에 2중for문 사용
- 두번째 for문 i = bub[0], j = bub[1]
- if ( 첫번째[i]배열값이 두번째[j] 값보다 크다면 변수값을 바꿔줌
- 한번의 정렬이 끝나면 i의 값이 다시 0으로 초기화가 되면서 새롭게 정렬 시작.
'맨땅에코딩 > 알고리즘' 카테고리의 다른 글
[알고리즘] JAVA 입력한 수만큼 사각형 ( ㄹ 자 ) 출력 ( 배열 사용 X ) (0) | 2021.03.29 |
---|---|
[알고리즘]JAVA 거듭제곱(Power) (0) | 2020.09.08 |
[알고리즘] JAVA 피보나치(Fibonacci) (0) | 2020.09.08 |
[알고리즘]JAVA 입력 한 숫자에 따른 정방행렬 출력 (0) | 2020.09.08 |
[알고리즘] JAVA 재귀함수로 팩토리얼(JAVA Factorial) (0) | 2020.09.08 |