버블(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("");
}
}
}