Code14
import java.util.Scanner;
public class Code14 {
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
int [] data = new int [n];
for (int i = 0; i < n; i++)
data[i] = kb.nextInt();
kb.close();
// bubble sort
for (int i = n - 1; i > 0; i--) {
// data[0] ... data[i]
for (int j = 0; j < i; j++) {
// swap data[j] and data[j + 1]
if(data[j] > data[j + 1]) {
int tmp = data[j];
data[j] = data[j + 1];
data[j + 1] = tmp;
}
}
}
System.out.println("Sorted data:");
for (int i = 0; i < n; i++)
System.out.println(data[i]);
}
}
- 사용자로부터 n개의 정수를 입력받은 후 오름차순으로 정렬(sort)하여 출력하는 코드
- 버블정렬(bubblesort) 알고리즘
- data[0] ~ data[i] 중에서 최댓값을 data[i] 위치로 몰아간다.
Code15
import java.util.Scanner;
public class Code15 {
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
int [] data = new int [n];
for (int i = 0; i < n; i ++) {
int tmp = kb.nextInt();
int j = i - 1;
while (j >= 0 && data[j] > tmp) {
data[j + 1] = data[j];
j--;
}
data[j + 1] = tmp;
for (int k = 0; k <= i; k++)
System.out.print(data[k] + " ");
System.out.println();
}
kb.close();
}
}
- 사용자로부터 n개의 정수를 입력받아라. 정수가 하나씩 입력될 때마다 현재까지 입력된 정수들을 오름차순으로 정렬하여 출력하라.
'Java로 배우는 자료구조' 카테고리의 다른 글
제1-2장 메서드 호출과 프로그램의 기능적 분할 (1/4) (0) | 2023.09.14 |
---|---|
제1-1강 변수, 배열, 반복문 (6/7) (0) | 2023.09.12 |
제1-1강 변수, 배열, 반복문 (5/7) (0) | 2023.09.11 |
제1-1강 변수, 배열, 반복문 (3/7) (0) | 2023.09.11 |
제1-1강 변수, 배열, 반복문 (2/7) (0) | 2023.09.08 |