zoukankan      html  css  js  c++  java
  • 排序算法2-冒泡排序

    示例代码

       int arr[] = {5,8,6,4,9,3,1,7,2};

       int length = sizeof(arr)/sizeof(int);

      

        for(int i = 0; i < length - 1; i++)

        {

            for(int j = 0; j < length - 1- i; j++)

            {

                if(arr[j] > arr[j+1])

                {

                    printf("%d和%d马上就换 ",arr[j],arr[j+1]);

                    printArray(arr, length);

                    arr[j] = arr[j] + arr[j+1];

                    arr[j+1] = arr[j] - arr[j+1];

                    arr[j]  = arr[j] - arr[j+1];

                }

            }

        }

    排序结果:1    2    3    4    5    6    7    8    9

    算法分析:

          多擂台模式:把大的往后丢

          第0轮,把最大的放在了最后

          第1轮,把第二大的放在倒数第二个位置

          xxx

          xxx

    具体过程打印

    第0轮:

     8和6马上就换 5    8    6    4    9    3    1    7    2

     8和4马上就换 5    6    8    4    9    3    1    7    2

     9和3马上就换 5    6    4    8    9    3    1    7    2

     9和1马上就换 5    6    4    8    3    9    1    7    2

     9和7马上就换 5    6    4    8    3    1    9    7    2

     9和2马上就换 5    6    4    8    3    1    7    9    2

     第1轮:

     6和4马上就换 5    6    4    8    3    1    7    2    9

     8和3马上就换 5    4    6    8    3    1    7    2    9

     8和1马上就换 5    4    6    3    8    1    7    2    9

     8和7马上就换 5    4    6    3    1    8    7    2    9

     8和2马上就换 5    4    6    3    1    7    8    2    9

     第2轮:

     5和4马上就换 5    4    6    3    1    7    2    8    9

     6和3马上就换 4    5    6    3    1    7    2    8    9

     6和1马上就换 4    5    3    6    1    7    2    8    9

     7和2马上就换 4    5    3    1    6    7    2    8    9

     第3轮:

     5和3马上就换 4    5    3    1    6    2    7    8    9

     5和1马上就换 4    3    5    1    6    2    7    8    9

     6和2马上就换 4    3    1    5    6    2    7    8    9

     第4轮:

     4和3马上就换 4    3    1    5    2    6    7    8    9

     4和1马上就换 3    4    1    5    2    6    7    8    9

     5和2马上就换 3    1    4    5    2    6    7    8    9

     第5轮:

     3和1马上就换 3    1    4    2    5    6    7    8    9

     4和2马上就换 1    3    4    2    5    6    7    8    9

     第6轮:

     3和2马上就换 1    3    2    4    5    6    7    8    9

     第7轮:

     结果:

     1    2    3    4    5    6    7    8    9

  • 相关阅读:
    PHP的资源类型
    windows 配置 apache的多个站点
    php 压缩数据存储
    php统计图类库JpGraph
    php之ThinkPHP的memcached类的修改
    linux 安装报错:pkg-config not found
    Mysql清空表(truncate)与删除表中数据(delete)的区别
    【MySQL】查看MySQL配置文件路径及相关配置
    phper
    http 同步异步请求
  • 原文地址:https://www.cnblogs.com/dzq1991/p/6186380.html
Copyright © 2011-2022 走看看