Java 버블 정렬을 작성하는 가장 간단한 방법에 대한 자세한 설명
버블 정렬은 인접한 요소를 비교하고 교환하여 정렬을 구현합니다. ) 올바른 위치로 이동합니다. 이 기사에서는 Java로 버블 정렬을 작성하는 가장 간단한 방법을 자세히 설명하고 구체적인 코드 예제를 제공합니다.
버블 정렬의 기본 아이디어는 인접한 요소를 왼쪽에서 오른쪽으로 비교하고 이전 요소가 후자 요소보다 크거나 작으면 위치를 바꾸는 것입니다. 이러한 비교 및 교환 라운드 후에 가장 큰(또는 가장 작은) 요소가 가장 오른쪽(또는 가장 왼쪽)으로 "버블링"됩니다. 그런 다음 모든 요소가 정렬될 때까지 나머지 요소에 대해 동일한 작업을 수행합니다.
다음은 Java에서 버블 정렬을 작성하는 가장 간단한 방법입니다.
public class BubbleSort { public static void bubbleSort(int[] arr) { int len = arr.length; for (int i = 0; i < len - 1; i++) { for (int j = 0; j < len - 1 - i; j++) { if (arr[j] > arr[j + 1]) { // 交换相邻元素的位置 int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } } public static void main(String[] args) { int[] arr = {5, 2, 8, 7, 1, 3, 9, 4, 6}; bubbleSort(arr); for (int num : arr) { System.out.print(num + " "); } } }
위 코드에서는 먼저 정수 배열을 매개변수로 받는bubbleSort
메서드를 정의합니다. 이 방법에서는 두 개의 중첩된 for 루프를 사용합니다. 외부 루프는 라운드 수를 제어하고 내부 루프는 각 라운드의 비교 및 교환을 제어합니다.bubbleSort
方法,该方法接收一个整型数组作为参数。在该方法中,我们使用两个嵌套的for循环,外层循环控制轮数,内层循环控制每一轮中的比较和交换。
内层循环的初始值是len - 1 - i
,其中len
是数组的长度,i
是当前轮数。这是因为每一轮都会有一个元素移动到正确的位置,所以每一轮结束后,需要比较和交换的元素数量会减少。
在内层循环中,我们使用arr[j]
和arr[j + 1]
进行比较,如果arr[j]
大于arr[j + 1]
,则交换它们的位置。交换使用一个临时变量temp
来暂存arr[j]
的值,然后将arr[j + 1]
的值赋给arr[j]
,最后将temp
的值赋给arr[j + 1]
,完成交换。
在main
方法中,我们创建了一个包含9个整数的数组,并调用bubbleSort
len - 1 - i
입니다. 여기서
len
은 배열의 길이이고
i
는 현재입니다. 둥근 수. 이는 각 라운드마다 하나의 요소가 올바른 위치로 이동하기 때문에 각 라운드 후에 비교하고 교체할 요소가 더 적기 때문입니다.
내부 루프에서는 비교를 위해
arr[j]
및
arr[j + 1]
를 사용합니다.
arr[j + 1]
보다 위치가 바뀌었습니다. Exchange는 임시 변수
temp
를 사용하여
arr[j]
값을 임시로 저장한 다음
arr[j + 1]
값을 할당합니다.
arr[j]
에 할당하고 마지막으로
arr[j + 1]
에
temp
값을 할당하여 교환을 완료합니다.
main
메서드에서 9개의 정수를 포함하는 배열을 만들고
bubbleSort
메서드를 호출하여 배열을 정렬합니다. 마지막으로 for 루프를 통해 배열을 반복하고 각 요소를 인쇄합니다. 위 코드를 실행하면 다음과 같은 출력을 얻을 수 있습니다.
1 2 3 4 5 6 7 8 9
위 내용은 Java에서 가장 간결한 버블 정렬 구현에 대한 심층 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!