zoukankan      html  css  js  c++  java
  • 冒泡排序法demo(两层嵌套for循环)

    namespace ConsoleDemo

    {

        /// <summary>

        /// 双层循环实现冒泡排序

        /// </summary>

        class Program

        {

            static void Main(string[] args)

            {

                SortedNumbers();

            }

            /// <summary>

            /// 该方法获得需要排序的数组,表调用排序方法进行排序

            /// </summary>

            public static void SortedNumbers()

            {

                int numberCount;

                int[] numbers;

                Console.WriteLine("----------silly冒泡排序法----------");

                Console.WriteLine("请问您要对多少为数字进行排序?");

                numberCount = Convert.ToInt32(Console.ReadLine());

                numbers = new int[numberCount];

                Console.WriteLine("请输入您要进行排序的这{0}个数字:",numberCount);

                for (int i = 0; i < numberCount; i++)

                {

                    numbers[i] = Convert.ToInt32(Console.ReadLine());

                }

                Console.WriteLine("\n您要进行排序的{0}个数字分别为:",numberCount);

                for (int i = 0; i < numberCount; i++)

                {

                    Console.Write(numbers[i].ToString() + "\t");

                }

                Console.WriteLine("\n您要对这{0}个数字进行什么排序?(1表示升序,2表示降序)",numberCount);

                int method = Convert.ToInt32(Console.ReadLine());

                while (method != 1 && method != 2)

                {

                    Console.WriteLine("只能输入1或者2,请您重新输入!");

                    method = Convert.ToInt32(Console.ReadLine());

                }

                //调用排序方法

                ExecuteSortedMethod(numbers, method);

                Console.WriteLine("排序后的结果为:");

                for (int i = 0; i < numberCount; i++)

                {

                    Console.Write(numbers[i].ToString() + "\t");

                }

                Console.WriteLine("\n----------sisi冒泡排序法----------");

                Console.ReadKey();

            }

            /// <summary>

            /// 接受数字参数和排序方法参数,进行冒泡排序

            /// </summary>

            /// <param name="num">要进行排序的整数数组</param>

            /// <param name="sortedMethod">排序方法标识:1为升序,2为降序</param>

            public static void ExecuteSortedMethod(int[] num, int sortedMethod)

            {

                if (sortedMethod == 1)      //升序排列

                {

                    for (int i = 0; i < num.Length -1; i++)

                    {

                        for (int j = 0; j < num.Length - 1 - i; j++)

                        {

                            if (num[j] > num[j + 1])

                            {

                                int temp = num[j];

                                num[j] = num[j + 1];

                                num[j + 1] = temp;

                            }

                        }

                    }

                }

                if (sortedMethod == 2)      //降序排列

                {

                    for (int i = 0; i < num.Length - 1; i++)

                    {

                        for (int j = 0; j < num.Length - 1 - i; j++)

                        {

                            if (num[j] < num[j + 1])

                            {

                                int temp = num[j];

                                num[j] = num[j + 1];

                                num[j + 1] = temp;

                            }

                        }

                    }

                }

            }

        }

    }

  • 相关阅读:
    计算GPS WGS_84 两点的距离
    极路由4_开ssh_刷breed
    aes-256-gcm_python3_php7_golang
    nginx_非标准端口_同端口_http_自动跳转_https
    配置sshd_除了特定ip外_仅密钥登录
    使用scp命令实现服务器之间文件传输
    Java防止重复提
    mysql使用SUBSTRING_INDEX截取部分字符串
    SEO大杀器rendertron安装
    PIC16 bootloader之I2C bootloader
  • 原文地址:https://www.cnblogs.com/lqsilly/p/2917559.html
Copyright © 2011-2022 走看看