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();

    输出结果

  • 相关阅读:
    Siege 3.0 正式版发布,压力测试工具
    Pomm 1.1.2 发布,专为 PG 设计的 ORM 框架
    Whonix 0.5.6 发布,匿名通用操作系统
    国内开源 java cms,Jspxcms 2.0 发布
    EZNamespaceExtensions.Net v2013增加对上下文菜单、缩略图、图标、属性表的支持
    GNU Guile 2.0.9 发布,Scheme 实现
    jdao 1.0.4 发布 轻量级的orm工具包
    OpenSearchServer 1.4 RC4 发布
    Percona Server for MySQL 5.5.3030.2
    Samba 4.0.5 发布
  • 原文地址:https://www.cnblogs.com/qy1234/p/11768501.html
Copyright © 2011-2022 走看看