使用C#实现鸡尾酒排序算法 - 代码实现详解
鸡尾酒排序,也称为双向冒泡排序,是一种改进的冒泡排序算法。相对于冒泡排序只能从低到高排列数据的缺陷,该算法可以同时从低到高和从高到低排列数据。
下面将为大家介绍使用C#实现鸡尾酒排序算法的相关代码实现。
public static void CocktailSort(int[] arr)
{
bool swapped = true;
int start = 0;
int end = arr.Length - 1;
while (swapped == true)
{
swapped = false;
for (int i = start; i < end; ++i)
{
if (arr[i] > arr[i + 1])
{
// 交换
int temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
swapped = true;
}
}
if (swapped == false)
break;
swapped = false;
--end;
for (int i = end - 1; i >= start; -