<수동으로 배열 정렬하기>
int[] numArr = new int[] { 5, 1, 3, 4, 2 };
위 배열을 for 반복문과 if 조건문을 사용하지 않고
{ 1 , 2 , 3, 4, 5 }로 정렬해야 한다면?
임의 변수 tmp를 이용하여 다음과 같이
데이터 값 교환을 여러 차례 진행해야 한다.
int tmp = 0;
tmp = numArr[0];
numArr[0] = numArr[1];
numArr[1] = tmp;
System.out.println(Arrays.toString(numArr)); // [1, 5, 3, 4, 2]
0번 요소와 1번 요소의 값을 교환한 다음,
tmp = numArr[1];
numArr[1] = numArr[4];
numArr[4] = tmp;
System.out.println(Arrays.toString(numArr)); // [1, 2, 3, 4, 5]
1번 요소와 4번 요소를 바꾸었더니,
원하는 대로 정렬되었다.
더 복잡하게 섞여 있었다면
몇 차례 더 교환을 진행해야 하며,
만약 배열의 인덱스가 매우 많다면
매우 번거롭고 복잡할 것이다.
for 반복문과 if 조건문, 최소값(또는 최대값)을 이용한다면
보다 간편하게 배열들을 정렬할 수 있다.
'. Java의 정석' 카테고리의 다른 글
[Java] 배열의 활용 : 정렬하기 - 선택정렬(selection sort) (0) | 2021.07.14 |
---|---|
[Java] 배열의 활용 : 정렬하기 - 버블정렬 (bubble sort) (0) | 2021.07.14 |
[Java] 배열의 활용 : 섞기, 셔플(shuffle) (0) | 2021.07.14 |
[Java] 배열의 활용 : 임의의 값으로 배열 채우기(Math.random()) (0) | 2021.07.14 |
[Java] 배열의 활용 : 최대값(max)과 최소값(min) (0) | 2021.07.13 |