공부했던 자료 정리하는 용도입니다.
재배포, 수정하지 마세요.
배열 정렬(sort)하기
정렬에는 여러가지 방법들이 있지만 간단하게 선택정렬로 구현했다. 배열의 값은 입력받을 수도있지만 편의상 for 문을 이용해서 1 ~ 100 사이의 랜덤으로 채워넣었다. j 번째를 기준으로 그 뒤에있는 배열들( k 번째로 오는 배열요소들)을 비교해서 값이 더 작을경우 tmp 를 이용해서 자리를 바꾼다. 프로그램이 끝나면 배열은 오름차순으로 정렬된다.
package test;
class test{
public static void main(String[] args) {
int[] number = new int[10]; //정렬할 int타입의 배열 number 선언;
int tmp;
for(int i = 0 ; i < number.length ; i++) { //배열의 길이만큼 반복문 실행
number[i] = (int)(Math.random() * 100) + 1; // 1 ~ 100사이의 랜덤값을 배열에 넣어준다.
}
System.out.print("정렬하기 전 : ");
for(int i : number) { //향상된 for문
System.out.print(i + " "); //정렬전 배열 출력
}
System.out.println(); //보기좋게 출력하기 위한 줄바꿈
for(int j = 0 ; j < number.length ; j++) { //정렬하기 위한 for문, number의 크기만큼 반복문 실행
for(int k = j; k < number.length ; k++) { //비교하기 위해서 이중 for문 실행
if(number[k] < number[j]) { //k번째 배열요소가 기준이 되는 j번째 배열요소보다 작은경우
tmp = number[j]; //tmp를 이용해서 배열의 자리를 서로 바꾼다.
number[j] = number[k];
number[k] = tmp;
}
}
}
System.out.print("정렬한 뒤 : ");
for(int i : number) { //향상된 for문
System.out.print(i + " "); //정렬이 완료된 배열 출력
}
}
}
'Back end > Java 문제' 카테고리의 다른 글
[Java] 빙고게임 (0) | 2019.07.08 |
---|---|
[Java] 빈도수 구하기 (0) | 2019.07.05 |
[Java] 총합, 평균, 최대, 최소 (0) | 2019.06.26 |
[Java] for문을 활용한 별(*)찍기 (1) | 2019.06.19 |
[Java] Up&Down 게임 (0) | 2019.06.18 |