package 공부;
public class BubleSort {
public static void main(String[] args) {
int[] ar = { 24, 25, 26, 55, 74, 5 };
int i = 1;
while ( i<ar.length) {
int j = 0;
while (j <ar.length-i ) {
// 버블 정렬은 오른쪽으로 수를 정렬해주는 알고리즘입니다.
// 하나씩 오른쪽으로 가장 큰수를 정렬해주기 때문에
// 정렬한 곳은 비교할 이유가 없기에 반복문에서 감소 시켜주어야만
// 예외가 발생하지 않습니다.
if (ar[j] > ar[j + 1]) {
int temp = ar[j];
ar[j] = ar[j + 1];
ar[j + 1] = temp;
}
j = j + 1;
}
i = i + 1;
}
for (i = 0; i < ar.length; i++) {
System.out.println(ar[i]);
}
}
}
package 공부;
public class BubleSort {
public static void main(String[] args) {
int[] ar = { 24, 25, 26, 55, 74, 5 };
int i = ar.length;
while ( i>0) {
int j = 0;
while (j <i-1 ) {
// 버블 정렬은 오른쪽으로 수를 정렬해주는 알고리즘입니다.
// 하나씩 오른쪽으로 가장 큰수를 정렬해주기 때문에
// 정렬한 곳은 비교할 이유가 없기에 반복문에서 감소 시켜주어야만
// 예외가 발생하지 않습니다.
if (ar[j] > ar[j + 1]) {
int temp = ar[j];
ar[j] = ar[j + 1];
ar[j + 1] = temp;
}
j = j + 1;
}
i = i - 1;
}
for (i = 0; i < ar.length; i++) {
System.out.println(ar[i]);
}
}
}
이렇게 감소를 시켜주어서 버블정렬을 해주어만 오류가 생기지 않습니다.
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6
at 공부.BubleSort.main(BubleSort.java:17)
'Java > 자바 공부' 카테고리의 다른 글
스트링을 숫자로 바꾸기 (0) | 2018.01.21 |
---|---|
꼭공부) 로또번호 (0) | 2018.01.21 |
선택정렬 (0) | 2018.01.20 |
super() 와 부모 (0) | 2018.01.20 |
오버로딩과 오버라이딩 (0) | 2018.01.20 |