배열을 사용하여 버블 정렬에 대한 질문이 있습니다. 여기에 몇 가지 예제 코드는 다음과 같습니다자바에서 버블 정렬 혼돈
public class SortArray
{
public static void main(String[] args)
{
int[] arr = {4,6,4,2,764,23,23};
sort(arr);
}
static void sort(int[] arr)
{
int k;
for(int i = 0; i < arr.length; i++) { for(int j = i; j < arr.length-1; j++) {
if(arr[i] < arr[j+1])
{
k = arr[j+1];
arr[j+1] = arr[i];
arr[i] = k;
}
}
System.out.print(arr[i] + " ");
}
}
}
두 번째에 대한이, 내가 처음 루프는 배열의 각 요소를 통해 이동하는 것입니다 이해 배열을 확인하기위한 두 개의 루프가 있지만 어떻게? j
이 i
에서 시작하는 이유는 무엇이며 길이가 1을 뺀 이유는 무엇입니까?
또한 거품 정렬을 사용하여 ArrayList
을 정렬 할 수 있습니까?
또한 나는 다른 종류를 사용하도록 제안 할 것이고,이 종류는 느리고 성능이 낮습니다. 좋은 정렬은 빠른 정렬과 병합 정렬입니다. –
@epiwang 질문을 편집하면서 답변을 편집했습니다. – navit