zoukankan      html  css  js  c++  java
  • C# 冒泡排序

    一.定义

    冒泡排序:就是将一个数组中的元素按照从大到小或者从小到大的排序进行排列。

    注意:冒泡排序考数组和for理解,主要面试用;

    二.分析

    int[] nums={9,8,7,6,5,4,3,2,1,0}; 0 1 2 3 4 5 6 7 8 9
    第一趟比较:8 7 6 5 4 3 2 1 0 9 交换了9次     i=0  j=nums.Length-1-i
    第二趟比较:7 6 5 4 3 2 1 0 8 9 交换了8次     i=1  j=nums.Length-1-i
    第三趟比较:6 5 4 3 2 1 0 7 8 9 交换了7次     i=2  j=nums.Length-1-i
    第四趟比较:5 4 3 2 1 0 6 7 8 9 交换了6次     i=3  j=nums.Length-1-i
    第五趟比较:4 3 2 1 0 5 6 7 8 9 交换了5次
    第六趟比较:3 2 1 0 4 5 6 7 8 9 交换了4次
    第七趟比较:2 1 0 3 4 5 6 7 8 9 交换了3次
    第八趟比较:1 0 2 3 4 5 6 7 8 9 交换了2次
    第九趟比较:0 1 2 3 4 5 6 7 8 9 交换了1次

    三.实例

    1.对数组进行一个从小到大排序(面试写法)

                int[] nums = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
                for (int i = 0; i < nums.Length - 1; i++)
                {
                    for (int j = 0; j < nums.Length-1-i; j++)
                    {
                        if (nums[j] > nums[j + 1])
                        {
                            int temp = nums[j];
                            nums[j] = nums[j + 1];
                            nums[j + 1] = temp;
                        }
                    }
                }
                //打印数组
                for (int i = 0; i < nums.Length; i++)
                {
                    Console.WriteLine(nums[i]);
    
                }
                Console.ReadKey();
    

    输出结果

    2. 对数组进行从大到小排序(面试写法)

             int[] nums = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
              for (int i = 0; i < nums.Length - 1; i++)
                {
                    for (int j = 0; j < nums.Length - 1 - i; j++)
                    {
                        if (nums[j] < nums[j + 1])
                        {
                            int temp = nums[j];
                            nums[j] = nums[j + 1];
                            nums[j + 1] = temp;
                        }
                    }
                }
                for (int i = 0; i < nums.Length; i++)
                {
                    Console.WriteLine(nums[i]);
                }
                Console.ReadKey();
    

      

    输出结果

     

    3.只能针对数组做一个升序的排序(简单写法)

               int[] nums = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
                //只能针对数组做一个升序的排序(简单写法)
                Array.Sort(nums);
               //打印数组
                for (int i = 0; i < nums.Length; i++)
                {
                    Console.WriteLine(nums[i]);
    
                }
                Console.ReadKey();

    输出结果

    4.对数组进行反转(简单写法)

               int[] nums = { 1,4,3,6,9,8,11 };
                //对数组进行反转。(简单写法)
                Array.Reverse(nums);
                //打印数组
                for (int i = 0; i < nums.Length; i++)
                {
                    Console.WriteLine(nums[i]);
    
                }
                Console.ReadKey();

    输出结果

  • 相关阅读:
    记录一次.Net框架Bug发现和提交过程:.Net Framework和.Net Core均受影响
    浅谈 Angular 项目实战
    Angular CLI 升级 6.0 之后遇到的问题
    构建具有用户身份认证的 Ionic 应用
    关于 Angular 跨域请求携带 Cookie 的问题
    使用 ng build 构建后资源地址引用错误的问题
    React 系列教程 1:实现 Animate.css 官网效果
    如何在已有的 Web 应用中使用 ReactJS
    关于浏览器后退操作与页面缓存问题
    三阶魔方公式速记
  • 原文地址:https://www.cnblogs.com/qy1234/p/11768501.html
Copyright © 2011-2022 走看看