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

    冒泡排序的运行原理(好理解):

    1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
    2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
    3. 针对所有的元素重复以上的步骤,除了最后一个。
    4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

    备注:上述讲解来自 维基百科 冒泡排序

    个人理解:

    第一轮:第一个元素 与后边第二元素比较,如果第二个元素大,就交换数值,这样第一个元素还是最大值,然后与第三个元素比较,如果第三个元素大,还是交换数值,这样第一个元素还是最大值,同样,依次与后边的所有元素比较,这样第一轮比较之后就能保证第一个元素为最大值,

    第二轮:第二个元素与后边第三个元素比较,如果第三个元素大,就交换数值,第二个元素与第四个元素比较,如果第四个元素大,还是交换数值,同样,第二个元素与后边元素依次比较,这样,第二轮结束,第二个元素就是第二大数值。

    同样 第三轮,第四轮.... 直到最后一个元素。这样就是 冒泡排序 (以上是按从大到小排序)

    代码如下(从大到小排序):

    int[] sort = new int[13] { 1, 4, 89, 34, 56, 40, 59, 60, 39, 1, 40, 90, 48 };  // 输入一个数组
     for (int i = 0; i < sort.Length; i++)  // 循环每个元素。
                {
                    for (int j = i+1; j < sort.Length; j++) // 每个元素都与它之后的元素进行一对一比较。
                    {
                        if (sort[i] < sort[j])  // 当有值比sort[i]大时,就交换数值。
                        { 
                        int temp = sort[i];
                        sort[i] = sort[j];
                        sort[j] = temp;    // sort[i] 获取的是始终为最大值。
                        }
                    }
                }
     for (int i = 0; i < sort.Length; i++)  // 输出
                {
                    Console.Write(sort[i] + " ");
                }
    

      

  • 相关阅读:
    最新美丽说网购平台模板
    红色的原油投资金融专题模板
    简单响应式Bootstrap框架中文官网页面模板
    蓝色简约的工业大学学校网站静态模板
    红色经典招生校园网站全套
    白色简洁的瑞班克个人博客网站
    仿360影视网站模板html
    红色的企业新闻门户网站模板
    橙色的汽车蚂蚁企业门户网站模板
    使用ExtJS做一个用户的增删改查
  • 原文地址:https://www.cnblogs.com/OneManStep/p/9514768.html
Copyright © 2011-2022 走看看