zoukankan      html  css  js  c++  java
  • 冒泡 选择

      static void Main(string[] args)
            {
                fun1();
                Console.WriteLine("  ");
                fun2();
                Console.ReadKey();
            }
            #region 选择
            //选择 的核心是  选最大值 
            //以外层 arr[i] 为基准 ,和 内层循环的每个值 进行比较(arr[i] > arr[j])
            //每选出一个最大值,外层循环走一步,然后上次的那个最大值就不用再参与之后的比较(j = i + 1)
            //5个数,第一次选最大值 还剩4个,第二次选 还剩3个 第4次还剩1个所以4次就够了(arr.Length - 1)
            static void fun1()
            {
                int[] arr = { 12, 35, 13, 57, 1 };
     
                for (int i = 0; i < arr.Length - 1; i++)
                {
                    for (int j = i + 1; j < arr.Length; j++)
                    {
                        int temp;
                        if (arr[i] > arr[j])
                        {
                            temp = arr[i];
                            arr[i] = arr[j];
                            arr[j] = temp;
                        }
                        Console.WriteLine(arr[0] + "," + arr[1] + "," + arr[2] + "," + arr[3] + "," + arr[4]);
                    }
                }
            }
            #endregion
     
            #region 冒泡
            //冒泡核心是 内层循环 两个相邻的值进行比较(arr[l] > arr[l + 1])
            // 5个数只需4次比较,而且,外层循环每走一步,内层循环,之前比过的就不用再比
            //所以是 l < arr.Length - k - 1
            static void fun2()
            {
                int[] arr = { 12, 35, 13, 57, 1 };
                for (int k = 0; k < arr.Length - 1; k++)
                {
                    for (int l = 0; l < arr.Length - k - 1; l++)
                    {
                        int temp;
                        if (arr[l] > arr[l + 1])
                        {
                            temp = arr[l];
                            arr[l] = arr[l + 1];
                            arr[l + 1] = temp;
                        }
                        Console.WriteLine(arr[0] + "," + arr[1] + "," + arr[2] + "," + arr[3] + "," + arr[4]);
                    }
                }
            } 
  • 相关阅读:
    1833: [ZJOI2010]count 数字计数——数位dp
    【模板】BZOJ 3685: 普通van Emde Boas树——Treap
    【模板】解决二分图匹配的强力算法——Hopcroft-Karp算法
    BZOJ 4516: [Sdoi2016]生成魔咒——后缀数组、并查集
    【模板】二分图匹配/一般图匹配——匈牙利算法/随机匈牙利算法
    【模板】BZOJ 1692:队列变换—后缀数组 Suffix Array
    BZOJ 4241: 历史研究——莫队 二叉堆
    【模板】BZOJ 3781: 小B的询问 莫队算法
    BZOJ 3656: 异或 (组合数取模 CRT)
    【模板】SPOJ FACT0 大数分解 miller-rabin & pollard-rho
  • 原文地址:https://www.cnblogs.com/bingguang/p/3168749.html
Copyright © 2011-2022 走看看