冒泡排序

C# 代码实现冒泡排序

        #region 冒泡排序
        /// <summary>
        /// 冒泡排序
        /// </summary>
        /// <param name="arr">待排序的数组</param>
        /// <param name="isAsc">是否升序排序,默认为升序排序</param>
        public static void BubbleSort(int [] arr,bool isAsc=true)
        {
            if (arr == null) return;

            // 冒泡次数
            for(int i = 0; i < arr.Length - 1; i++)
            {
                for(int j = 0; j < arr.Length - 1 - i; j++)
                {
                    // 升序排序,把较大值放到后面
                    if (isAsc)
                    {
                        if (arr[j] > arr[j + 1])
                        {
                            int temp = arr[j];
                            arr[j] = arr[j + 1];
                            arr[j + 1] = temp;
                        }
                    }
                    // 降序排序,把较大值放到前面
                    else
                    {
                        if (arr[j] < arr[j + 1])
                        {
                            int temp = arr[j];
                            arr[j] = arr[j + 1];
                            arr[j + 1] = temp;
                        }
                    }
                }
            }
        }
        #endregion

 

posted @ 2020-12-04 21:47  温故纳新  阅读(89)  评论(0编辑  收藏  举报