0
문제가 생겨서 지침이 필요합니다. 기본적으로 나는이 버블 정렬 방법을 만들 수 있었다. 이것을 Gap Sort로 수정하면리스트를 통해 매번 인접한 원소를 비교하는 것이 아니라 숫자 (i) 위치만큼 떨어진 원소를 비교합니다. 여기서 i는 n보다 작은 정수입니다. 예를 들어, 첫 번째 요소는 (i + 1) 요소, 두 번째 요소와 (i + 2) 요소, n 번째 요소와 (ni) 요소 등과 비교됩니다. 단일 요소는 모든 요소 비교 될 수있는, 비교되었습니다. 다음 반복에, 나는이 1보다 큰 일부 수 감소와 나는 미만 1버블 정렬 방식으로 갭 정렬
public static void bubbleSort (Comparable[] data, int maxlength){
int position, scan;
Comparable temp;
for (position = maxlength; position >= 1; position--){
for (scan = 0; scan <= position – 1; scan++){
if (data[scan].compareTo(data[scan+1]) > 0){
// Swap the values
temp = data[scan];
data[scan] = data[scan + 1];
data[scan + 1] = temp;
}
}
}
}
입니다. GapSort 구현을 찾고 계십니까? 이 링크의 두 번째 게시물을 확인하십시오 : http://www.daniweb.com/software-development/java/threads/238791/gap-sort – Fido
thnx. 하지만 너는 뭔가 설명 할 수 있니? "double SF = 1.3;" 왜 그렇게 유용합니까? – serge
아이디어는 큰 간격으로 시작하여 모든 루프에서 축소하는 것입니다. SF는 "축소 계수 (shrinking coeficent)"와 같습니다. (이 게시물에서 "축소 요인"과 같은 것을 의미합니다.)이 경우 76 %입니다 (즉, 모든 반복에서 간격이 원본의 76 %로 축소됨을 의미합니다 값). – Fido