반응형
1. 임의 수 n개를 입력받아서 역순으로 출력하기
*나중에 공부할 '스택'이라는 자료구조랑 관련 있습니다.
가장 처음에 들어온 값이 가장 마지막에 나갑니다.
입력값
10
10 9 8 7 6 5 4 3 2 1
출력 값
1 2 3 4 5 6 7 8 9 10
사용된 개념
1. 버블 정렬
서로 인접한 두 원소를 검사하여 정렬하는 알고리즘
인접한 2개의 레코드를 비교하여 크기가 순서대로 되어 있지 않으면 서로 교환한다.
선택 정렬과 기본 개념이 유사하다.
버블 정렬(bubble sort) 알고리즘의 구체적인 개념
버블 정렬은 첫 번째 자료와 두 번째 자료를, 두 번째 자료와 세 번째 자료를, 세 번째와 네 번째를, … 이런 식으로 (마지막-1) 번째 자료와 마지막 자료를 비교하여 교환하면서 자료를 정렬한다.
1회전을 수행하고 나면 가장 큰 자료가 맨 뒤로 이동하므로 2회전에서는 맨 끝에 있는 자료는 정렬에서 제외되고, 2회전을 수행하고 나면 끝에서 두 번째 자료까지는 정렬에서 제외된다. 이렇게 정렬을 1회전 수행할 때마다 정렬에서 제외되는 데이터가 하나씩 늘어난다.
import java.util.Scanner;
public class corona1 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("몇개의 수를 입력하시겠습니까?");
int count = scan.nextInt();
int [] num = new int [count]; //배열의 크기를 정해줘야하는데 임의의 수 n개니까 첫번째로 몇개입력할껀지 물어보고 하는방법이있고
System.out.println("숫자를 입력하세요.");
for(int i = 0; i <count ; i++) {
String inputNum_ = scan.next();
int inputNum = Integer.parseInt(inputNum_);
num[i] = inputNum;
}
for(int j = 0; j < count; j++) {
for(int k = 0; k<j; k++) {
if(num[j]>=num[k]) {
int temp = num[k];
num[k] = num[j];
num[j]=temp;
}
}
}
for(int h =0; h <count; h++)
System.out.printf("%d ",num[h]);
}
}
반응형
'웹 프로그래밍 기초 > 자바기반의 웹&앱 응용SW 개발자' 카테고리의 다른 글
코로나 휴강 대체할 t형의 복습문제3. (0) | 2020.03.03 |
---|---|
코로나 휴강 대체할 t형의 복습문제2. (0) | 2020.03.03 |
자바기반의 웹&앱 응용 SW개발자 양성과정 7일차 -16 (0) | 2020.02.27 |
자바기반의 웹&앱 응용 SW개발자 양성과정 6일차 -15 (0) | 2020.02.26 |
자바기반의 웹&앱 응용 SW개발자 양성과정 5일차 -14 (0) | 2020.02.25 |
댓글