Notice
Recent Posts
Recent Comments
Link
투케이2K
42. (java/자바) 알고리즘 : 버블정렬(bubble sort) - 이중 for문을 사용해 오름차순(작은순서) 데이터 정렬 실시 본문
Java
42. (java/자바) 알고리즘 : 버블정렬(bubble sort) - 이중 for문을 사용해 오름차순(작은순서) 데이터 정렬 실시
투케이2K 2020. 12. 31. 12:15/* =========================== */
[ 개발 환경 설정 ]
개발 툴 : Eclipse
개발 언어 : Java
/* =========================== */
/* =========================== */
[소스 코드]
package Al;
import java.util.Arrays;
public class MainActivity28 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("[버블정렬(bubble sort) - 이중 for문을 사용해 오름차순(작은순서) 데이터 정렬 실시]");
//초기 배열 선언 및 데이터 삽입
int data[] = {5,4,3,2,1};
System.out.println("원본 : "+Arrays.toString(data));
//큰수를 임시로 저장할 변수 선언
int save = 0;
/*[설 명]
* 1. 버블정렬 - 순차적으로 다음 번지 숫자를 비교해 가면서 정렬한다
* (0번지와 1번지 비교 / 1번지와 2번지 비교 / 2번지와 3번지 비교 ...)
* 2. 배열에 들어있는 데이터 개수 만큼 정렬 회차를 정의한다
* 3. 현재 k 번지와 다음번지인 k+1번지 값을 비교해서 큰수를 임시 변수 save에 저장하고,
* k번지에 k+1번지 값을 저장하고 k+1번지에 임시 변수 save값을 저장한다
*/
for(int i=1; i<=5; i++) { //정렬 회차 정의 실시
for(int k=0; k<data.length; k++) { //정렬 회차당 배열 전체 데이터를 다시 정렬한다
if((k+1) < data.length) { //배열 길이를 벗어나지 않도록 조건을 건다
if(data[k] > data[k+1]) {
save = data[k];
data[k] = data[k+1];
data[k+1] = save;
}
}
}
System.out.println(i+" 회전 정렬 : "+Arrays.toString(data));
}
}//메인 종료
}//클래스 종료
/* =========================== */
[결과 출력]
[버블정렬(bubble sort) - 이중 for문을 사용해 오름차순(작은순서) 데이터 정렬 실시]
원본 : [5, 4, 3, 2, 1]
1 회전 정렬 : [4, 3, 2, 1, 5]
2 회전 정렬 : [3, 2, 1, 4, 5]
3 회전 정렬 : [2, 1, 3, 4, 5]
4 회전 정렬 : [1, 2, 3, 4, 5]
5 회전 정렬 : [1, 2, 3, 4, 5]
/* =========================== */
/* =========================== */
[요약 설명]
* 1. 버블정렬 - 순차적으로 다음 번지 숫자를 비교해 가면서 정렬한다
(0번지와 1번지 비교 / 1번지와 2번지 비교 / 2번지와 3번지 비교 ...)
* 2. 배열에 들어있는 데이터 개수 만큼 정렬 회차를 정의한다
* 3. 현재 k 번지와 다음번지인 k+1번지 값을 비교해서 큰수를 임시 변수 save에 저장하고,
k번지에 k+1번지 값을 저장하고 k+1번지에 임시 변수 save값을 저장한다
/* =========================== */
반응형
'Java' 카테고리의 다른 글
Comments