java 双向冒泡排序
java 双向冒泡排序
java 双向冒泡排序

冬瓜1号
2024年04月16日
|
浏览 116
双向冒泡排序(Cocktail Shaker Sort)是一种改进的冒泡排序算法,它会从左到右和从右到左交替进行冒泡排序。具体步骤如下:
- 从左到右进行冒泡排序,将最大的元素沉到数组的末尾。
- 然后从右到左进行冒泡排序,将最小的元素浮到数组的最前面。
- 重复以上步骤,直到所有元素有序。
下面是 Java 实现的示例代码:
复制代码
public class CocktailShakerSort {
public static void cocktailSort(int[] arr) {
boolean swapped = true;
int start = 0;
int end = arr.length;
while (swapped) {
swapped = false;
for (int i = start; i < end - 1; ++i) {
if (arr[i] > arr[i + 1]) {
int temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
swapped = true;
}
}
if (!swapped) {
break;
}
swapped = false;
end--;
for (int i = end - 1; i >= start; i--) {
if (arr[i] > arr[i + 1]) {
int temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
swapped = true;
}
}
start++;
}
}
public static void main(String[] args) {
int[] arr = {64, 34, 25, 12, 22, 11, 90};
cocktailSort(arr);
System.out.println("排序后的数组:");
for (int num : arr) {
System.out.print(num + " ");
}
}
}
这段代码演示了如何在 Java 中实现双向冒泡排序。
我要提问
复制内容
分享给好友
AI编程问答网 免责声明:
以上内容除特别注明外均来源于网友提问,AI编程问答网回答,权益归原著者所有;
上一篇:java websocket编程
下一篇:java 冒泡排序的几种方法