버블 분류 방법 : 키워드가 작은 레코드는 거품이 떠 다니는 거품과 같으며 더 큰 키워드가있는 레코드는 돌을 가라 앉히는 것과 같으며 가장 큰 돌 중 하나는 각 여행마다 바닥으로 가라 앉습니다.
알고리즘의 본질 : (최대 값은 핵심 요점이며, 끝에 올려야하므로 루프는 다음과 같습니다) 매번 비교는 첫 번째 위치에서 하단으로 이루어지고 최소값은 한 번 상승합니다. 마지막 비트 발전 (즉, 마지막 숫자는 더 이상 비교에 참여하지 않는 최대 값에 의해 결정되었습니다. 비교 횟수는 1 씩 감소합니다).
복잡성 : 시간 복잡성 O (N2), 공간 복잡성 O (1)
Java 소스 코드 (성공적으로 실행, 날짜 클래스가 필요합니다)
코드 사본은 다음과 같습니다.
public static void bubblesort (date [] days) {
int len = days.length;
날짜 온도;
for (int i = len-1; i> = 1; i-) {
for (int j = 0; j <i; j ++) {
if (days [j] .compare (days [j + 1])> 0) {
온도 = 일 [j + 1];
일 [j + 1] = 일 [j];
날 [J] = 온도;
}
}
}
}
클래스 날짜 {
연도, 월, 일;
날짜 (int y, int m, int d) {
년 = y;
달 = m;
day = d;
}
공개 int 비교 (날짜) {
연도> 날짜 : 연도 <날짜?
: Month> Month?
: day. day : day <date.day?
}
public void print () {
System.out.println (Year + "" + Month + "" + Day);
}
}
코드 사본은 다음과 같습니다.
패키지 테스트 조종법;
공개 클래스 Bubblesort {
public static void main (String [] args) {
int array [] = {5, 6, 8, 4, 2, 4, 9, 0};
Bubblesort (배열);
for (int i = 0; i <array.length; i ++) {
System.out.println (배열 [i]);
}
}
public static void bubblesort (int array []) {
int 온도;
for (int i = array.length-1; i> 0; i-) {
for (int j = 0; j <i; j ++) {
if (배열 [j]> 배열 [j + 1]) {
임시 = 배열 [j];
배열 [j] = 배열 [j + 1];
배열 [j + 1] = 온도;
}
}
}
}
}