用java写一个双向冒泡排序
时间: 2023-05-22 22:06:33 浏览: 92
好的,以下是双向冒泡排序的Java实现代码:
```
public class BubbleSort {
public static void bidirectionalBubbleSort(int[] arr) {
int left = 0, right = arr.length - 1;
while (left < right) {
for (int i = left; i < right; i++) {
if (arr[i] > arr[i + 1]) {
swap(arr, i, i + 1);
}
}
right--;
for (int j = right; j > left; j--) {
if (arr[j] < arr[j - 1]) {
swap(arr, j, j - 1);
}
}
left++;
}
}
private static void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
public static void main(String[] args) {
int[] arr = {5, 2, 6, 1, 3, 9, 4};
bidirectionalBubbleSort(arr);
System.out.println(Arrays.toString(arr)); // 输出 [1, 2, 3, 4, 5, 6, 9]
}
}
```
希望以上代码可以帮助到您。
阅读全文