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;

                            }

                        }

                    }

                }

            }

        }

    }

  • 相关阅读:
    2018-09-13 代码翻译尝试-使用Roaster解析和生成Java源码
    2018-09-10 使用现有在线翻译服务进行代码翻译的体验
    2018-09-06 Java实现英汉词典API初版发布在Maven
    2018-08-29 浏览器插件实现GitHub代码翻译原型演示
    2018-08-27 使用JDT核心库解析JDK源码后初步分析API命名
    2018-08-11 中文代码示例之Spring Boot 2.0.3问好
    2018-08-24 中文代码之Spring Boot对H2数据库简单查询
    2018-08-22 为中文API的简繁转换库添加迟到的持续集成
    2018-08-21 中文关键词替换体验页面原型
    vim打开不同的文件
  • 原文地址:https://www.cnblogs.com/lqsilly/p/2917559.html
Copyright © 2011-2022 走看看