• 鸡尾酒排序算法


            static int[] intArray;//定义要排序的数组
            #region 两个数互换位置
            /// <summary>
            /// 两个数互换位置
            /// </summary>
            /// <param name="left">第一个数</param>
            /// <param name="right">第二个数</param>
            static void Change(ref int left, ref int right)
            {
                int temp;//临时变量
                temp = left;//记录第一个数的值
                left = right;//使第一个数的值等于第二个数的值
                right = temp;//使第二个数的值等于临时变量记录的值
            }
            #endregion
            #region 鸡尾酒排序算法
            /// <summary>
            /// 鸡尾酒排序算法
            /// </summary>
            /// <param name="intArray">要排序的数组</param>
            static void CockSorts(int[] intArray)
            {
                int low, up, index;//定义变量
                low = 0;//数组的开始索引
                up = intArray.Length - 1;//数组的结束索引
                index = low;//临时变量
                while (up > low)//判断数组中是否有多个元素
                {
                    for (int i = low; i < up; i++)//从上向下扫描
                    {
                        if (intArray[i] > intArray[i + 1])//比较前后两个数的大小
                        {
                            Change(ref intArray[i], ref intArray[i + 1]);//变换两个数的位置
                            index = i;//记录当前索引
                        }
                    }
                    up = index;//记录最后一个交换的位置
                    for (int i = up; i > low; i--)//从最后一个交换位置处从下向上扫描
                    {
                        if (intArray[i] < intArray[i - 1])//比较前后两个数的大小
                        {
                            Change(ref intArray[i], ref intArray[i - 1]);//变换两个数的位置
                            index = i;//记录当前索引
                        }
                    }
                    low = index;//记录最后一个交换的位置
                }
            }
            #endregion
            #region 对指定数组使用鸡尾酒排序算法进行排序
            /// <summary>
            /// 对指定数组使用鸡尾酒排序算法进行排序
            /// </summary>
            /// <param name="intArr">要排序的一维数组</param>
            static void Sort(int[] intArr)
            {
                intArray = intArr;//为数组赋值
                CockSorts(intArray);//使用鸡尾酒算法进行排序
            }
            #endregion
            static void Main(string[] args)
            {
                int[] arr = new int[] { 3, 9, 27, 6, 18, 12, 21, 15 };//定义一个一维数组,并赋值
                Sort(arr);//排序
                for (int i = 0; i < arr.Length; i++)//循环遍历排序后的数组
                {
                    Console.Write(arr[i] + " ");//逐个输出数组元素
                }
                Console.ReadLine();
            }

  • 相关阅读:
    关于如何使用Microsoft Word发博客
    使用Word发表博客园博文
    利用Word发布文章到博客
    图解利用Word来发布博客
    [转载]如何将word文档直接发布到新浪博客
    如何用word发布博客文章到新浪|网易|博客园?
    word 2010发布文章到博客园
    使用Word2010发布博客到博客园
    C++ 虚函数表解析
    GlobalAlloca GlobalLock GlobalUnlock函数的作用
  • 原文地址:https://www.cnblogs.com/wuhuisheng/p/2647346.html
Copyright © 2020-2023  润新知