Algorithm/개념 정리
배열 요소 정렬
JunGi Jeong
2022. 11. 9. 17:00
배열 요소를 역순으로 정렬하기
int n = 5;
int[] a = new int[n];
for (int idx = 0; idx < n/2; idx++) {
a[idx] = a[n - idx - 1];
}
// 배열 요소에 값을 읽어 들여 역순으로 정렬
import java.util.Arrays;
import java.util.Scanner;
class ReverseArray {
//--- 배열 요소 a[idx1]과 a[idx2]의 값을 바꿈 ---//
static void swap(int[] a, int idx1, int idx2) {
int t = a[idx1]; a[idx1] = a[idx2]; a[idx2] = t;
}
//--- 배열 a의 요소를 역순으로 정렬 ---//
static void reverse(int[] a) {
for (int i = 0; i < a.length / 2; i++)
swap(a, i, a.length - i - 1);
}
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.print("요솟수: ");
int num = stdIn.nextInt(); // 요솟수
int[] x = new int[num]; // 요솟수가 num인 배열
for (int i = 0; i < num; i++) {
System.out.print("x[" + i + "] : ");
x[i] = stdIn.nextInt();
}
reverse(x); // 배열 a의 요소를 역순으로 정렬
System.out.println("요소를 역순으로 정렬했습니다.");
System.out.println("x = " + Arrays.toString(x));
}
}
두 값의 교환
static void swap(int[] a, int idx1, int idx2) {
int t = a[idx1];
a[idx1] = a[idx2];
a[idx2] = t;
}
배열의 전체 요소 표시
Arrays.toString();