麻烦给出java鸡尾酒排序的示例代码,注意回答的文本里,关键字“示例代码:” 后加回车换行,这样会比较优雅
时间: 2023-03-14 15:48:52 浏览: 112
示例代码:
// Java Program to sort an array using Cocktail Sort
public class CocktailSort
{
// Sort function
public static void cocktailSort(int a[])
{
boolean swapped = true;
int start = 0;
int end = a.length; while (swapped == true) {
// reset the swapped flag on entering
// the loop, because it might be true from
// a previous iteration.
swapped = false; // loop from bottom to top same as
// the bubble sort
for (int i = start; i < end - 1; ++i) {
if (a[i] > a[i + 1]) {
int temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
swapped = true;
}
} // if nothing moved, then array is sorted.
if (swapped == false)
break; // otherwise, reset the swapped flag so that it
// can be used in the next stage
swapped = false; // move the end point back by one, because
// item at the end is in its rightful spot
end = end - 1; // from top to bottom, doing the
// same comparison as in the previous stage
for (int i = end - 1; i >= start; i--) {
if (a[i] > a[i + 1]) {
int temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
swapped = true;
}
} // increase the starting point, because
// the last stage would have moved the next
// smallest number to its rightful spot.
start = start + 1;
}
} // Driver Code
public static void main(String[] args)
{
int[] a = { 5, 1, 4, 2, 8, 0, 2 };
CocktailSort.cocktailSort(a); System.out.println("Sorted array :");
for (int i = 0; i < a.length; i++)
System.out.print(a[i] + " ");
}
}
阅读全文