"Lotto"번호에 정렬함수 적용..
(사진출처)https://docs.tibco.com/pub/sfire-bauthor/7.6.0/doc/html/ko-KR/GUID-515A5FC6-AB64-4550-849E-E5F74D019C16.html
이번 포스팅은 지난 "중복값 제거"
2018/05/19 - [Java/Open source] - 배열(Array)의 중복값 방지
에서 뽑은 배열안의 수들을 정렬하는 방법을 포스팅하겠습니다.
우선 정렬이라는 알고리즘에는 많은 방법들이 있는데
http://blog.naver.com/PostView.nhn?blogId=tyboss&logNo=70046128991
다양하고 자세한 정렬은 위의 링크를 걸어두도록 하겠습니다.
필자는 여러 정렬방법을 보았을때
두가지 선택 사항이 있다고 생각하는데.
첫 번째는 자신이 하고있는 프로잭트가 "처리속도"를 요구하는 지의 여부.
두 번째는 자신에게 익숙한 코드인가?
지금부터 2개의 코드를 사용하여 포스팅하겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | public class booleanTest { public static void main(String[] args) { // 변수선언 int RandomNums[] = new int[6]; boolean swit[] = new boolean[45]; // 0~44 // 초기화 for (int i = 0; i < swit.length; i++) { swit[i] = false; } // 랜덤 값 추출 int i = 0; while (i < RandomNums.length) { int temp = (int) (Math.random() * 45); // 0~44 if (swit[temp] == false) { swit[temp] = true; RandomNums[i] = temp + 1; // 1~45 i++; } } // 정렬 전 출력 System.out.println("정렬 전 출력"); for (int z = 0; z < RandomNums.length; z++) { System.out.println("RandomNums[" + z + "] = " + RandomNums[z]); } // 정렬 while(true){ int temp=0; for (int j = 0; j < RandomNums.length-1; j++) { for (int j2 = j+1; j2 < RandomNums.length; j2++) { if(RandomNums[j]>RandomNums[j2]) { temp=RandomNums[j2]; RandomNums[j2]=RandomNums[j]; RandomNums[j]=temp; } } } break; } // 정렬 후 출력 System.out.println("\n정렬 후 출력"); for (int z = 0; z < RandomNums.length; z++) { System.out.println("RandomNums[" + z + "] = " + RandomNums[z]); } } } | cs |
첫 번째는 위와 같이 버블형 정렬이다.
첫 번째 인자값을 나머지 인자값들과 비교하여 정렬하는 방식이다.
두 번째 방법으로는 에디터 안에서 함수를 사용하는 방법인데
첫 번째 방법과 동일한 효과를 가져올 수 있는데
장점으로는 버그가 거의 없다.
단점으로는 빠른 속도처리를 요하는 작업을 할때에는
처리속도가 다소 느릴 수 있다.
'오랜된 포스팅 > Java' 카테고리의 다른 글
ArrayList를 이용한 동적배열(Dynamic Array) (0) | 2018.05.23 |
---|---|
알고리즘을 이용한 동적배열(Dynamic Array) (0) | 2018.05.23 |
피보나치수열(fibonacci numbers) 정리 (0) | 2018.05.21 |
배열(Array)의 중복값 방지 (3) | 2018.05.19 |
Number Baseball Game ver_01 (0) | 2018.05.19 |