CShap 鸡尾酒选择排序 源代码
时间: 2023-09-29 07:02:53 浏览: 90
以下是C#语言的鸡尾酒选择排序代码:
```
public static void CocktailSort(int[] array)
{
bool swapped = true;
int start = 0;
int end = array.Length;
while (swapped)
{
swapped = false;
//从左到右进行冒泡排序
for (int i = start; i < end - 1; ++i)
{
if (array[i] > array[i + 1])
{
Swap(ref array[i], ref array[i + 1]);
swapped = true;
}
}
//如果没有交换,则已排序完毕
if (!swapped)
{
break;
}
swapped = false;
//从右到左进行冒泡排序
for (int i = end - 1; i > start; --i)
{
if (array[i] < array[i - 1])
{
Swap(ref array[i], ref array[i - 1]);
swapped = true;
}
}
++start;
}
}
private static void Swap(ref int a, ref int b)
{
int temp = a;
a = b;
b = temp;
}
```
以上代码通过交替进行从左到右和从右到左的冒泡排序来完成鸡尾酒选择排序。在每次循环中,它先从左到右排序,然后从右到左排序,直到没有交换发生为止。
阅读全文