새소식

Java

[Java] 버블(bubble)정렬.

  • -

버블(bubble)정렬.




Public static void main(String args[]){

int i,j,k,temp;

int n=5;

int data[] = {50, 30, 10, 20, 40};

 

//버블 알고리즘 적용

for(i=0; i<n-1; i++){

for(j=0; j<n-1; j++){

if(data[j] > data[j+1]){

temp = data[j];

data[j] = data[j+1];

data[j+1] = temp;

}

}

}

for(k=0; k<n; k++)

System.out.print(data[k] + " ");

}

}





 개선된 버블 정렬

=> 스위치 변수(Flag)를 활용하여 적용한다.

 

Public static void main(String args[]){

int i,j,k,temp;

int n=5;

int data[] = {50, 30, 10, 20, 40};

int FLAG;  //스위치변수는 가능한한 대문자로

 

//개선된 버블 정렬

FLAG = 0;

for(i=0; i<n-1; i++){

for(j=0; j<n-1; j++){

if(data[j] > data[j+1]){

temp = data[j];

data[j] = data[j+1];     //데이터교환

data[j+1] = temp;

//추가

FLAG=1;

}

}

//추가

if(FALG== 0) break;    /*데이터교환이 1번이라도 발생할시 FLAG값이 1로 변한다.

FLAG값이 0이 아닌이상 for문은 계속 돌아간다.*/

System.out.print(" " + (i+1) + "회전: ");

for(k=0; k<n; k++)

System.out.print(data[k] + " ");

System.out.println("");

}

}

}

 


 

 

 

'Java' 카테고리의 다른 글

[Java] 순차검색  (0) 2012.10.14
검색(Search) 알고리즘  (0) 2012.10.14
[Java] 선택정렬알고리즘. 문자열 정렬  (0) 2012.10.10
[Java] 선택정렬알고리즘. 숫자 정렬  (0) 2012.10.10
[Java] 정렬 알고리즘의 종류  (0) 2012.10.10
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.