Sorting : 정렬 -> 알고리즘
: 숫자의 크기에 따라서 순번대로 배치하는 처리
: 주어진 데이터를 특정 기준에 따라 오름차순 or 내림차순으로 나열하는 작업
오름차순(작은수부터) 내림차순(큰수부터)
1 2 3 4 5 5 4 3 2 1
종류 : 선택, 버블, 합병, 퀵 ... 많다.(선택, 버블, 퀵 정도 알면 된다.)
: 모든걸 다 알아야 한다는 생각으로 알고리즘만 파고있는 건 반대
ex)
{1, 4, 5, 2, 3}
41523 51423
52123
54213 54321
54321
선택 정렬 프로그램
조건 :
1. 몇개의 숫자를 정렬할지 입력
2. 정렬할 숫자를 입력
3. 오름차순 / 내림차순 선택
Scanner sc = new Scanner(System.in);
int number[] = null;
int temp;
System.out.print("몇개의 숫자를 정렬하실건가요 : ");
int numberLen = sc.nextInt();
number = new int[numberLen];
System.out.print("정렬하실 숫자를 입력하세요 : ");
for (int w = 0; w < number.length; w++) {
number[w] = sc.nextInt();
}
System.out.print("오름차순 / 내림차순 중 선택하세요 : ");
String tjsxor = sc.next();
if (tjsxor.equals("오름차순") || tjsxor.equals("내림차순")) {
for (int i = 0; i < number.length - 1; i++) { // 0 ~ 3번지까지
for (int j = i + 1; j < number.length; j++) { // 1 ~ 4번지
if (tjsxor.equals("오름차순") && number[i] > number[j]) {
temp = number[i];
number[i] = number[j];
number[j] = temp;
} else if (tjsxor.equals("내림차순") && number[i] < number[j]) {
temp = number[i];
number[i] = number[j];
number[j] = temp;
}
}
}
} else {
System.out.print("잘못된 입력입니다. '오름차순' 또는 '내림차순'으로 입력하세요.");
return;
}
System.out.print("정렬된 결과:");
for (int i = 0; i < number.length; i++) {
System.out.print(number[i] + "\t");
}
: 치환하는 구조를 생각해야 한다.
: 2중 for문으로 가능
: 내림차순이랑 오름차순 알고리즘 완벽하게 파악하기.
: 오름차순 ">", 내림차순 "<"(그냥 설계하고 부등호 반대로 해주면 된다.)
'Java' 카테고리의 다른 글
Java) 메서드 활용 실습 : 다양한 문제 해결과 구현 방법 (0) | 2025.01.01 |
---|---|
Java) 함수 이해와 활용 : 매개변수 전달 방식과 리턴 값 처리 (0) | 2025.01.01 |
Java) 랜덤 숫자 뽑기 프로그램(Random Value Finding) (0) | 2024.12.31 |
Java) 계산기 프로그램(calculator) (0) | 2024.12.30 |
Java) 사용자 입력 양수 검증 및 배열 저장 프로그램 (0) | 2024.12.28 |