안녕하세요 저는 다음 버블 정렬 알고리즘 (다른 사이트에서 가져온 일반 코드)을 가지고 있는데 배열의 각 요소 옆에 숫자를 넣고 싶습니다. 정렬됩니다. 예를 들어 내가 그것을 실행할 때 배열을 정렬하면 각 요소 옆에 숫자 1이 있어야하는데, 이것은 내가 사용하고있는 많은 정렬 알고리즘 중 첫 번째이기 때문이다. 그래서 보여주기 위해 : 당신이 볼 수 있듯이이 알고리즘으로 정렬되는 한, 숫자 1은 배열의 각 요소에 삽입자바의 거품 정렬 알고리즘에서 배열의 요소 옆에 값을 추가하는 방법
4 1
27 1
54 1
321 1
542 1
654 1
887 1
1023 1
: 정렬 한 후 내 결과는 다음과 같다됩니다. 누군가 이걸로 나를 도울 수 있습니까?
정렬 알고리즘 : 당신이 분류 한 후
public static <E extends Comparable<? super E>> void bubbleSort(E[] comparable) {
boolean changed = false;
do {
changed = false;
for (int a = 0; a < comparable.length - 1; a++) {
if (comparable[a].compareTo(comparable[a + 1]) > 0) {
E tmp = comparable[a];
comparable[a] = comparable[a + 1];
comparable[a + 1] = tmp;
changed = true;
}
}
} while (changed);
}
네, 조금 바보 같지만 필요한 모든 것 같네요. 그러나 각 요소에 추가 할 때마다, 이전에가 아닌 정렬 된 요소를 추가해야합니다. – Matt9Atkins
여기에 표시된 애니메이션 : http://en.wikipedia.org/wiki/Bubble_sort는 버블 내부에서 무슨 일이 일어나는지 이해하는 데 큰 도움이됩니다. – shiraz