默认计划
2376人加入学习
(4人评价)
【唐老狮】Unity基础课程之C#基础
价格 免费
承诺服务
该课程属于 Unity3d实战就业路线课程套餐
请加入后再学习

bool order = isAscendingorder ? array[j] > array[j + 1] : array[j]< array[j + 1];i

if ( order )  {两数调换}//实现升序和降序(三目)

[展开全文]

       #region 练习题一
            //定义一个数组,长度为20 每个元素值随机0~100的数
            //使用冒泡排序进行升序排序并打印
            //使用冒泡排序进行降序排序并打印


            int[] arr = new int[20];
            Random r = new Random();
            
            for (int i = 0; i < arr.Length; i++)
            {
                arr[i] = r.Next(0, 101);
                Console.Write(arr[i] + " ");
            }
            Console.WriteLine();

            //升序

            //套路写法
            //两层循环
            //外层轮数
            bool isSort = false;
            for (int i = 0; i < arr.Length; i++)
            {
                isSort = false;

                //内层比较
                for (int j = 0; j < arr.Length-1-i ; j++)
                {
                    //两值比较
                    //满足交换
                    //降序还是升序 改这的比较条件就行了
                    if (arr[j]>arr[j+1])
                    {
                        isSort = true;
                        int temp = arr[j];
                        arr[j] = arr[j+1];
                        arr[j + 1] = temp;
                    }
                }
                if(!isSort)
                {
                    break;
                }

            }

            for (int i = 0; i < arr.Length; i++)
            {
                Console.Write(arr[i] + " ");
            }

          
          
            Console.WriteLine();

            //降序

            //套路写法
            //两层循环
            //外层轮数
            for (int i = 0; i < arr.Length; i++)
            {
                isSort = false;
                //内层比较
                for (int j = 0; j < arr.Length - 1 - i; j++)
                {
                    //两值比较
                    //满足交换
                    if (arr[j] < arr[j + 1])
                    {
                        isSort = true;
                        int temp = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = temp;
                    }
                }
                if (!isSort)
                {
                    break;
                }

            }

            for (int i = 0; i < arr.Length; i++)
            {
                Console.Write(arr[i] + " ");
            }
            #endregion

            #region 练习题二
            //写一个函数,实现一个数组的排序,并返回结果。可以根据参数决定是升序还是降序

            Console.WriteLine();
            int[] arr2 = { 3, 7, 2, 1, 9, 8, 6, 5, 4 };

            Sort(arr2, false);

            for (int i = 0; i < arr2.Length; i++)
            {
                Console.WriteLine(arr2[i] + " ");
            }
            #endregion
        }

        static int[] Sort(int[] array,bool isAscendingOrder)
        {
            bool order;
            int temp;
            for (int i = 0; i < array.Length; i++)
            {
                
                for (int j = 0; j < array.Length-1-i; j++)
                {
                    //根据传入的 升序降序类型 决定使用什么规则 然后返回给一个bool值
                    order = isAscendingOrder ? array[j] > array[j + 1] : array[j] < array[j + 1];
                    
                    if (order)
                    {
                        temp = array[j];
                        array[j] = array[j+1];
                        array[j+1] = temp;
                    }
                }

            }

            return array;
        }

[展开全文]

授课教师

游戏开发前端主程

课程特色

视频(42)
下载资料(37)

学员动态

Ace_Li 加入学习
疏楼君子 加入学习
zys_zys 加入学习
Eli2077 加入学习
牙白人 加入学习