public static void main(String[] args) {
int[] arr = {8, 3, 5, 2, 9};
int i, j, temp;
for(i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
for(i = 0; i <arr.length; i++) {
for(j = i + 1; j <arr.length; j++) {
if(arr[i] > arr[j]) {
temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
} // if
} // 안쪽for
} // 바깥쪽 for
for(i = 0; i <arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
}
다음 정렬의 방법은 하나하나 대조하면서 정렬하는 방식인데
arr[0] arr[1]
arr[0] arr[2]
arr[0] arr[3]
arr[0] arr[4] 이런식으로 하나하나 대조를 한다
temp값에 i가 j보다 클경우 자리가 바뀌어야 하기 때문에 temp라는 변수에 임시로 저장하고 j의 위치를 i로 보낸뒤 temp에 저장한 i값을 다시 주면 배열의 0 과 1의 자리가 바뀐다
이거를 계속 반복하게 만들면 앞에 자리부터 낮은숫자가 나오게 배열들을 정렬해준다
다음과 같은 코드를 실행시키면 다음과 같이 나온다
8 3 5 2 9
2 3 5 8 9
2 3 5 8 9
이런식으로 시간은 오래걸리지만 sort처럼 정렬이 됨을 확인할 수 있다
'JAVA' 카테고리의 다른 글
20. 메서드 (0) | 2023.08.01 |
---|---|
19. 클래스 (0) | 2023.08.01 |
18. 배열끼리 더하기 (0) | 2023.07.31 |
17. 2차원 배열 (0) | 2023.07.31 |
16. 배열 (0) | 2023.07.31 |