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

    1.定义
    冒泡排序:就是将一个数组中的元素按照从大到小或者从小到大的排序进行
    排列
     
    2.分析
     1  int[] nums={9,8,7,6,5,4,3,2,1,0};0 1 2 3 4 5 6 7 8 9 
     2    第一趟比较:8 7 6 5 4 3 2 1 0 9 交换了9次   i=0        j=nums.Length-1-i
     3    第二趟比较:7 6 5 4 3 2 1 0 7 9 交换了8次   i=1        j=nums.Length-1-i
     4    第三趟比较:6 5 4 3 2 1 0 7 8 9 交换了7次   i=3        j=nums.Length-1-i
     5    第四趟比较:5 4 3 2 1 0 6 7 8 9 交换了6次  
     6    第五趟比较:4 3 2 1 0 5 6 7 8 9 交换了5次
     7    第六趟比较:3 2 1 0 4 5 6 7 8 9 交换了4次
     8    第七趟比较:2 1 0 3 4 5 6 7 8 9 交换了3次
     9    第八趟比较:1 0 2 3 4 5 6 7 8 9 交换了2次
    10   第九趟比较:0 1 2 3 4 5 6 7 8 9 交换了1次
     
    3.实例
    1.对数组进行一个从小到大排序(面试写法)
     1             int[] nums = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
     2             //交换时的中间量
     3             int temp;
     4             //比较的趟数
     5             for (int i = 0; i < nums.Length-1; i++)
     6             {
     7                 //交换的次数
     8                 for (int j = 0; j < nums.Length-1-i; j++)
     9                 {
    10                     if (nums[j] > nums[j + 1])
    11                     {
    12                         temp = nums[j];
    13                         nums[j] = nums[j + 1];
    14                         nums[j + 1] = temp;
    15                     }
    16                 }
    17             }
    18             //输出冒泡排序后的数组
    19             for (int i = 0; i < nums.Length; i++)
    20             {
    21                 Console.Write(nums[i]+" ");
    22             }
    23             Console.ReadKey(); 

    运行结果

    2.对数组进行从大到小排序(面试写法)
       int[] nums = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
                //交换时的中间量
                int temp;
                //比较的趟数
                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])
                        {
                            temp = nums[j];
                            nums[j] = nums[j + 1];
                            nums[j + 1] = temp;
                        }
                    }
                }
                //输出冒泡排序后的数组
                for (int i = 0; i < nums.Length; i++)
                {
                    Console.Write(nums[i]+" ");
                }
                Console.ReadKey();
            }

    运行结果

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


  • 相关阅读:
    第一章 接口自动化简述
    第八章 影响自动化实施的非技术因素
    第七章 自动化无人值守运行(下)
    第七章 自动化无人值守运行(上)
    第六章 自动测试实施(下)
    第六章 自动测试实施(上)
    Webdriver firefox plugin-container.exe应用程序错误
    第五章 常用页面元素自动化操作(下)
    第五章 常用页面元素自动化操作(上)
    开发,测试和开发测试工程师的区别
  • 原文地址:https://www.cnblogs.com/fanjianzhi/p/12857413.html
Copyright © 2011-2022 走看看