728x90
반응형

 

 

[JAVA] 선택 정렬과 버블 정렬

1. 선택 정렬 ▶ 코드 /*선택정렬*/ int[] arr={9,6,7,3,5};//정렬할 배열 int index, min, temp;//최솟값이 들어있는 인덱스 변수, 최솟값을 비교할 변수, 값을 변경할 때 사용할 변수 for(int i=0;i6? index=j;//index=1

deliciouscode.tistory.com

 

 

선택 정렬 보완

▶ 첫 번째 실습을 보완하여 값을 출력해 보자

  • 최솟값을 저장하는 min변수를 없애고 인덱스 값만 이용해도 정렬이 가능하여, 위 실습 내용을 보완하였다.
		int[] arr={4,5,9,3,6};	//정렬할 배열
		System.out.println("초기 배열:"+Arrays.toString(arr)+"\n");
		int index, temp;	//최솟값이 들어있는 인덱스 변수, 값을 변경할 때 사용할 변수

		for(int i=0;i<arr.length-1;i++){	//배열의 수가 5개이면 4번만 비교하면 된다.
			index=i;	//0
			for(int j=i+1;j<arr.length;j++){	//맨 앞에 최소값을 넣기때문에 i+1부터 비교하면 된다.
				if(arr[index]>arr[j]){
					index=j;
				}
			}

			/*최솟값이 들어있는 인덱스와 자리 변경*/
			if(i != index){
				temp=arr[i];
				arr[i]=arr[index];
				arr[index]=temp;
			}
			System.out.println((i+1)+"번째 정렬:"+Arrays.toString(arr));			
		}
		System.out.println();//줄바꿈

		System.out.println("선택 정렬된 배열:"+Arrays.toString(arr));//배열 출력

 

 

▶ 출력 결과

초기 배열:[4, 5, 9, 3, 6]

1번째 정렬:[3, 5, 9, 4, 6]
2번째 정렬:[3, 4, 9, 5, 6]
3번째 정렬:[3, 4, 5, 9, 6]
4번째 정렬:[3, 4, 5, 6, 9]

선택 정렬된 배열:[3, 4, 5, 6, 9]

 

728x90
반응형

+ Recent posts