鸡尾酒排序的 Java 程序
javaobject oriented programmingprogramming更新于 2025/7/7 0:12:17
鸡尾酒排序与冒泡排序相反,其中元素从左到右迭代,最大的元素首先被带到其正确位置,依此类推。在鸡尾酒排序中,元素以交替方式在两个方向(左和右)迭代。
以下是鸡尾酒排序的程序 −
示例
public class Demo{
static int temp;
static void Cocktail(int a[], int n){
boolean swap = true;
int begin = 0,i;
int end = n - 1;
while (swap) {
swap = false;
for (i = begin; i < end; ++i){
if (a[i] > a[i + 1]){
temp = a[i];
a[i]=a[i+1];
a[i+1]=temp;
swap = true;
}
}
if (!swap)
break;
swap = false;
for (i = end - 1; i >= begin; --i){
if (a[i] > a[i + 1]){
temp = a[i];
a[i]=a[i+1];
a[i+1]=temp;
swap = true;
}
}
++begin;
}
}
public static void main(String[] args) {
int my_arr[] = {34, 78, 90, 32, 67, 12, 1, 0, 95};
Cocktail(my_arr, my_arr.length);
System.out.println("排序后的数组是");
for (int i = 0; i < my_arr.length; i++)
System.out.print(my_arr[i]+" ");
System.out.println();
}
}
输出
排序后的数组为 0 1 12 32 34 67 78 90 95
第一步,循环从左到右运行(类似于冒泡排序),在此期间,将比较相邻项。如果左侧值大于右侧值,则交换值。第一次迭代结束后,将在数组末尾找到最大元素。下一步,循环从右到左运行,留下最近排序的项。在这里,再次比较相邻元素,并将较大的元素添加到数组末尾。
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

