티스토리 뷰

	//배열의 값을 오름차순 정렬해보자
	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)

직접 순서도를 작성해보고 추적/역추적을 해보자.

댓글