배움과 복습
2017-08-30 수요일 : 정렬(sort)
뚜비콩
2017. 8. 30. 12:18
//배열의 값을 오름차순 정렬해보자 public void ex3() { int[] s = { 8,10,4,3,5,6,7,2,9,1 }; int temp = 0; System.out.print("오름차순 정렬 전: "); System.out.println(Arrays.toString(s)); for(int i = 0; i<s.length-1; i++) { //기준 위치 , 왜 -1이냐면 맨 마지막 거는 더 이상의(다음) 비교치가 없기 때문이다 for(int j=(i+1); j<s.length; j++) { //비교 대상 if (s[i]>s[j]) { //비교 기호를 반대로 바꾸면 내림차순 정렬 temp = s[i]; s[i] = s[j]; s[j] = temp; } } } System.out.print("오름차순 정렬 후: "); System.out.println(Arrays.toString(s)); }
오름차순/내림차순 정렬 로직 - 선택정렬(selected sort)
//버블소트(오름차순) public void ex4() { int[] s = { 8,10,4,3,5,6,7,2,9,1 }; int temp = 0; boolean swap = true; //true:교환, false:교환 안 됨 System.out.print("오름차순 정렬 전: "); System.out.println(Arrays.toString(s)); while (swap) { swap = false; for(int i=0; i<s.length-1; i++) { if(s[i]>s[i+1]) { swap = true; temp = s[i]; s[i] = s[i+1]; s[i+1] = temp; } } } System.out.print("오름차순 정렬 후: "); System.out.println(Arrays.toString(s)); }
오름차순/내림차순 정렬 로직 - 버블정렬(bubble sort)
직접 순서도를 작성해보고 추적/역추적을 해보자.