博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
冒泡排序法demo(两层嵌套for循环)
阅读量:7294 次
发布时间:2019-06-30

本文共 1930 字,大约阅读时间需要 6 分钟。

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;

                        }

                    }

                }

            }

        }

 

    }

}

转载于:https://www.cnblogs.com/lqsilly/archive/2013/02/19/2917559.html

你可能感兴趣的文章
前端DevOps之PageSpeed Insights
查看>>
[译] CSS 变量实现炫酷鼠标悬浮效果
查看>>
数据结构-js实现栈和队列
查看>>
面试题
查看>>
【网上的都不靠谱?还是得改源码】用Javasisst的字节码插桩技术,彻底解决Gson转Map时,Int变成double问题...
查看>>
el-autocomplete 使用相关问题
查看>>
惊了!7 行代码优雅地实现 Excel 文件生成&下载功能
查看>>
【译】一份通俗易懂的React.js基础指南-2018
查看>>
Failed to install VS Code update.
查看>>
最简单的composer 包 使用
查看>>
JS版数据结构第三篇(链表)
查看>>
Android新闻类导航栏
查看>>
通过COS上传文件至腾讯云
查看>>
安卓开发必备知识体系:安卓篇
查看>>
组件生命周期管理和通信方案
查看>>
拯救react的hooks:react的问题和hooks的作用
查看>>
程序员第一次相亲,因请女方吃肯德基而被怒删!
查看>>
promise
查看>>
Git 使用笔记
查看>>
方案没效果,是方法有问题还是人有问题?
查看>>