정렬(sorting)
숫자의 크기에 따라서 순번대로 배치하는 처리
정렬 | 특징 | 예시 | 사용처 |
오름차순 | 작은 수부터 | 1,2,3,4,5 | 입사 순위 |
내림차순 | 큰 수부터 | 5,4,3,2,1 | 월급 순위 |
선택정렬, 버블정렬, 합병정렬, 퀵정렬
1. 선택 정렬 알고리즘
2. 선택 정렬 코드
int number[] = { 3, 2, 4, 1, 5 };
int temp; // swap용 변수
for(int i = 0; i < number.length - 1; i++) {
// 0 ~ 3번째까지 비교
for (int j = i + 1; j < number.length; j++) {
// 1 ~ 4, 2 ~ 4, 3 ~ 4번째까지 비교
if (number[i] > number[j]) {
// 오름차순 조건
temp = number[i];
number[i] = number[j];
number[j] = temp;
}
}
}
for (int i = 0 ; i < number.length; i++){
System.out.print(number[i] + "\t");
}
3. Sorting Program 구현하기
1. 몇 개의 수를 정렬하고 싶은지 user에게 입력받기
2. 입력한 숫자 개수에 맞게 user가 각각 입력(후 나열)받기
3. 오름차순(1), 내림차순(2)도 user가 선택하기
4. 선택 정렬 구현
5. 결과값 출력
// 1. 몇 개를 정렬할래?
Scanner sc = new Scanner(System.in);
// 배열을 설정
int UserNumber;
System.out.print("숫자 몇 개를 정렬하시겠습니까? ");
UserNumber = sc.nextInt();
int[] array = new int[UserNumber];
// 2. 숫자 개수에 맞게 user 입력
System.out.println(array.length + "개의 숫자를 입력하시오.");
for(int k = 0; k < array.length; k++){
System.out.print((k+1) + "번째 수를 입력하세요. ");
array[k]= sc.nextInt();
}
System.out.println( "입력한 수는 " + Arrays.toString(array) + "입니다." );
// 3. 오름차순, 내림차순 선택
int sorting;
System.out.print("오름차순 정렬을 원하면 1, 내림차순 정렬을 원하면 2를 입력하시오. ");
sorting = sc.nextInt();
// 4. 방법에 맞게 정렬
int temp;
for (int i = 0; i < array.length - 1; i++) {
for (int j = i + 1; j < array.length; j++) {
if(sorting == 1) {
if (array[i] > array[j]) {
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
} else if (sorting == 2) {
if (array[i] < array[j]) {
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
}
// 5. 출력
System.out.println("정렬한 결과는 " + Arrays.toString(array) + "입니다.");
'JAVA 프로그래밍' 카테고리의 다른 글
[JAVA] 풀스택 개발자 부트캠프 006일차 ① function(함수) (0) | 2024.12.31 |
---|---|
[JAVA] 풀스택 개발자 부트캠프 005일차 ② 성적 관리 프로그램 (0) | 2024.12.30 |
[JAVA] 풀스택 개발자 부트캠프 004일차 ⑥ 랜덤 계산식 (1) | 2024.12.27 |
[JAVA] 풀스택 개발자 부트캠프 004일차 ⑤ 계산기 만들기 (0) | 2024.12.27 |
[JAVA] 풀스택 개발자 부트캠프 004일차 ④ 생략구문 continue (0) | 2024.12.27 |