Java バブル ソートの理解: いくつかの一般的な実装方法、具体的なコード例が必要です
冒泡排序(Bubble Sort)算法: 1. 从序列的第一个元素开始,对相邻的两个元素进行比较 2. 如果前一个元素大于后一个元素,则交换这两个元素的位置 3. 对序列中的所有相邻元素进行比较和交换操作,一轮比较后,最大(或最小)的元素将位于序列的末尾(或第一位) 4. 重复步骤1-3,进行多轮的比较和交换操作,直到整个序列有序
3.1. 通常のバブル ソート
public class BubbleSort { public static void bubbleSort(int[] arr) { if (arr == null || arr.length <= 1) { return; } for (int i = 0; i < arr.length - 1; i++) { for (int j = 0; j < arr.length - i - 1; j++) { if (arr[j] > arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } } }
public class BubbleSort { public static void bubbleSort(int[] arr) { if (arr == null || arr.length <= 1) { return; } boolean isSorted = false; for (int i = 0; i < arr.length - 1 && !isSorted; i++) { isSorted = true; for (int j = 0; j < arr.length - i - 1; j++) { if (arr[j] > arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; isSorted = false; } } } } }
public class BubbleSort { public static void bubbleSort(int[] arr) { if (arr == null || arr.length <= 1) { return; } int left = 0; int right = arr.length - 1; while (left < right) { for (int i = left; i < right; i++) { if (arr[i] > arr[i + 1]) { int temp = arr[i]; arr[i] = arr[i + 1]; arr[i + 1] = temp; } } right--; for (int j = right; j > left; j--) { if (arr[j] < arr[j - 1]) { int temp = arr[j]; arr[j] = arr[j - 1]; arr[j - 1] = temp; } } left++; } } }
以上がJava バブル ソート: いくつかの一般的な実装メソッドの分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。