鸡尾酒排序(双冒泡排序、搅拌排序或涟漪排序)

 鸡尾酒排序(双冒泡排序、搅拌排序或涟漪排序)

using System;  using System.Collections.Generic;  using System.Linq;  using System.Text;namespace Sort  {      class CockTailSorter      {          private static int[] myArray;          private static int arraySize;          public static int[] Sort(int[] myArray)          {              arraySize = myArray.Length;              CockTailSort(myArray);              return myArray;          }          public static void CockTailSort(int[] myArray)          {              int low, up, index, i;              low = 0;//数组起始索引              up = myArray.Length - 1;//数组索引最大值              index = low;//临时变量         //判断数组中是否有多个元素              while (up > low)//每一次进入while循环都会找出相应范围内最大最小的元素并分别放到相应的位置              {          //进入该for循环会将索引限定范围内最大的元素放到最右边                  for (i = low; i  myArray[i + 1])                      {                          Swap(ref myArray[i], ref myArray[i + 1]);                          index = i;//记录当前索引                      }                  }                  up = index;//记录最后一个交换的位置          //进入该for循环会将索引限定范围内最小的元素放到最左边                  for (i = up; i > low; i--)//从最后一个交换位置从下往上扫描                  {                      if (myArray[i] < myArray[i - 1])                      {                          Swap(ref myArray[i], ref myArray[i - 1]);                          index = i;                      }                  }                  low = index;//记录最后一个交换的位置              }          }          private static void Swap(ref int left, ref int right)          {              int temp;              temp = left;              left = right;              right = temp;          }      }  }

鸡尾酒排序等于是冒泡排序的轻微变形。不同的地方在于从低到高然后从高到低,而冒泡排序则仅从低到高去比较序列里的每个元素。他可以得到比冒泡排序稍微好一点的效能,原因是冒泡排序只从一个方向进行比对(由低到高),每次循环只移动一个项目。

使用鸡尾酒排序,数组中的数字本是无规律的排放,先找到最小的数字,把他放到第一位,然后找到最大的数字放到最后一位。然后再找到第二小的数字放到第二位,再找到第二大的数字放到倒数第二位。以此类推,直到完成排序。

以上就是 鸡尾酒排序(双冒泡排序、搅拌排序或涟漪排序)的内容,更多相关内容请关注PHP中文网(www.php.cn)!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1432174.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 06:18:44
下一篇 2025年12月17日 06:18:56

相关推荐

发表回复

登录后才能评论
关注微信