프로그래밍 기초 및 응용
보충 - 버블 정렬
황샐리
2022. 5. 13. 17:45
[버블 정렬]
알고리즘의 가장 기본적인 알고리즘이 바로 버블 정렬 알고리즘이라고 할 수 있겠습니다.
로또 번호와 비슷한 방법으로 원리를 이해해보도록 하겠습니다.
package day0513;
import java.lang.reflect.Array;
import java.util.Arrays;
public class ArrayTest01 {
public static void main(String[] args) {
// 인덱스 번호 0 1 2 3 4 5
int[] arr= {36,11,22,8,17,20};
//버블정렬
for(int i=0 ; i<arr.length-1 ; i++) {
if (arr[i]>arr[i+1]) {
//위치 교환 : 임시공간에 만들어놓고 잠깐 교환.
int temp=arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
}
System.out.println(Arrays.toString(arr));
}
}
}
36이 원래 맨 앞에 있었거든요? 근데 이게 뒤로 간다는거죠 서로 비교를 해가지고.
그러면 이 데이터들을 모두 오름차순하기 위해서는요? 이 과정을 5번 반복해야합니다. 맨 마지막숫자는 알아서 정렬될거니까요!
for 문으로 돌려줍니다.
for(int o=0; o<5; o++) {
int[] arr1= {36,11,22,8,17,20};
//버블정렬
for(int i=0 ; i<arr1.length-1 ; i++) {
if (arr1[i]>arr1[i+1]) {
int temp=arr1[i];
arr1[i]=arr1[i+1];
arr1[i+1]=temp;
}
System.out.println(Arrays.toString(arr1));
}
System.out.println("----------------");
}
..근데 내가 원하던 결과는 안나오는,,,, 그래서 눈물이 나는,, 암튼요.
그리고 버블은 가변정렬이 가능합니다.