배열에 저장된 값을 오름차순으로 정렬한 후 출력하는 프로그램
선택 정렬 알고리즘은 첫 번째 자료를 두 번째 자료로부터 마지막 자료까지 차례대로 비교하여 가장 작은 값을 찾아 첫 번째에 놓고, 두 번째 자료를 세 번째 자료부터 마지막 자료까지와 차례대로 비교하여 그 중 가장 작은 값을 찾아 두 번째 위치에 놓는 과정을 반복하며 정렬을 수행
1회전 수행 후 가장 작은 값의 자료가 맨 앞에 오게 되므로 그 다음 회전에서는 두 번째 자료를 가지고 비교한다.
코드
1 public class Test{
2 public static void main(String[] args){
3 int E[] = { 95, 75, 85, 100, 50 };
4 int i =0;
5 int Temp = 0;
6 do{
7 int j = i;
8 do{
9 if( E[i] > E[j] ){
10 Temp = E[i];
11 E[i] = E[j];
12 E[j] = Temp;
13 }
14 j++;
15 }while(j<5);
16 i++;
17 }while(i<4);
18 for(int a=0; a<5; a++){
19 System.out.printf(E[a]+"\t");
20 }
21 }
22 }
결과
50 | 75 | 85 | 95 | 100 |
설명
3열 : 5개의 요소를 갖는 정수형 배열 E를 선언하고 초기화
9~12 열 : E[i]의 값이 E[j]의 값보다 크면 10~12열을 수행한다.
10~12열 : 임시변수 Temp를 사용하여 E[i]의 값과 E[j]의 값을 교환하는 과정이다.
14열 : j의 값을 지속적으로 누적시킨다.
15열 : i가 5보다 작은 동안 9~14열을 반복한다.
16열 : i의 값을 누적시킨다.
17열 : i가 4보다 작은 동안 4~16열을 반복한다.
18열 : 반복변수 a가 0에서 시작하여 1씩 증가하면서 5보다 작은 동안 19열을 5회 반복 수행한다.
728x90
'Programming > Java' 카테고리의 다른 글
[JAVA] - 출력과 선언 규칙 (0) | 2023.10.25 |
---|---|
JAVA 11 jdk 설치 방법 (0) | 2023.10.25 |
1~100범위 안에 가장 큰 소수 구하기 (0) | 2020.10.20 |
push, pop (0) | 2020.10.20 |
외부클래스 (0) | 2020.10.20 |