Java 거품정렬 구현

1 개요[ | ]

Java 거품정렬 구현
기본형
public class MyClass {
    static void bubble_sort(int[] a) {
    	int i, j, temp, size=a.length;
    	for(i=0; i<size-1; i++) {
    		for(j=1; j<size-i; j++) {
    			if(a[j-1] > a[j]) {
    				temp=a[j-1]; a[j-1]=a[j]; a[j]=temp;
    			}
    		}
    	}
    }
    public static void main(String args[]) {
    	int[] arr = {9,1,22,4,0,-1,1,22,100,10};
    	bubble_sort(arr);
    	for(int x: arr) System.out.format( "%d ", x );
    	// -1 0 1 1 4 9 10 22 22 100 
    }
}
개선형 (swapped 플래그 적용)
public class MyClass {
    static void bubble_sort(int[] a) {
    	int i, j, temp, size=a.length;
    	boolean swapped;
    	for(i=0; i<size-1; i++) {
    	    swapped = false;
    		for(j=1; j<size-i; j++) {
    			if(a[j-1] > a[j]) {
    				temp=a[j-1]; a[j-1]=a[j]; a[j]=temp;
    				swapped = true;
    			}
    		}
    		if( !swapped ) break;
    	}
    }
    public static void main(String args[]) {
    	int[] arr = {9,1,22,4,0,-1,1,22,100,10};
    	bubble_sort(arr);
    	for(int x: arr) System.out.format( "%d ", x );
    	// -1 0 1 1 4 9 10 22 22 100 
    }
}

2 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}