공부했던 자료 정리하는 용도입니다.

재배포, 수정하지 마세요.

 

 

 

 

 


배열 정렬(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

+ Recent posts