2012-01-31 3 views
-1

안녕하세요 저는 다음 버블 정렬 알고리즘 (다른 사이트에서 가져온 일반 코드)을 가지고 있는데 배열의 각 요소 옆에 숫자를 넣고 싶습니다. 정렬됩니다. 예를 들어 내가 그것을 실행할 때 배열을 정렬하면 각 요소 옆에 숫자 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); 
} 
+0

for (int i = 0 ; i < comparable.length ; i++){ System.out.println(comparable[i] + " 1"); } 
? – shiraz

+0

네, 조금 바보 같지만 필요한 모든 것 같네요. 그러나 각 요소에 추가 할 때마다, 이전에가 아닌 정렬 된 요소를 추가해야합니다. – Matt9Atkins

+1

여기에 표시된 애니메이션 : http://en.wikipedia.org/wiki/Bubble_sort는 버블 내부에서 무슨 일이 일어나는지 이해하는 데 큰 도움이됩니다. – shiraz

답변

1

할 인쇄에 다음

그냥 숫자 "1"은 각 요소에 인쇄 할
+0

어쨌든 실제로 그것을 정렬하는 동안 그것을 추가 할 수 있습니까? – Matt9Atkins

+1

나는 정렬하는 동안 무슨 뜻인지 알지 못했습니까? 버블 정렬은 일반적으로 모든 숫자가 올바른 위치로 버블 링되기 전에 배열을 여러 번 통과합니다. 언제 그런 일이 일어나기를 바라겠습니까? 숫자가 최후의 자리에있을 때? 그리고 당신의 표현이 String – shiraz

+0

으로의 변환을 원한다고 생각합니다. 각 비교가 이루어지고 요소가 마침내 그 위치를 찾으면 그 요소가 그 옆에있는 숫자 1을 갖기를 원합니다. – Matt9Atkins