JAVA - array 배열의 값을 오름차순으로 선택정렬로 정렬하기 예제(2022-07-20)

2022. 7. 20. 23:213층 1구역 - 개발의 장/JAVA

package arrays_0720;

public class Ex07 {

	public static void main(String[] args) {
		int[] arr = {4,8,2,7,6};
		
		for(int i = 0; i <arr.length-1; i++) {
			//기준은 0번째부터 시작. 마지막 번째는 비교하지 아니하기 때문에 arr의 배열 길이에서 -1 그리고 i를 순차적으로 더함.
			for(int j = i + 1; j < arr.length; j++) {
				//다중 for문을 이용하여 swap할 변수값 생성 이 때, 스왑할 변수는 기준보다 1칸 큰값이므로 1를 더하고 arr배열 만큼 실행
				//System.out.println(i + ", " + j); -->> 출력값을 보면 i=0일 때, j의 1~4까지 비교하고, i=1일 때, j의 2~4까지 비교하는 결과를 얻을 수 있다.
				if(arr[i] > arr[j]) { //오름차순 선택정렬
			  //if(arr[i] < arr[j]) 내림차순 선택정렬		
					int tmp = arr[i]; //스왑 해줄 때, 기존에 있던 수를 백업해줄 함수가 필요. 함수하나를 만들어서 백업 후
					arr[i] = arr[j]; //배열의 비교한 값을 포맷 시켰던 변수에 삽입.(스왑)
					arr[j] = tmp; //백업했던 값을 대입
				}
			}
				
		}
		for(int i = 0; i < arr.length; i++) {
			System.out.print(arr[i] + " ");
		}
		System.out.println();
	}

}