<수동으로 배열 정렬하기>

 

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 조건문, 최소값(또는 최대값)을 이용한다면

보다 간편하게 배열들을 정렬할 수 있다.