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

  • 相关阅读:
    Mybatis里Mapper.xml加强
    在eclipse中怎么把一个普通的项目变成一个maven项目
    给自己写博客定的小标准
    五一假期的惬意生活~
    MAC上postman离线安装时提示加载扩展程序出错怎么办?
    2017-4-6 四月生花,冷暖自知
    微信小程序开发过程中tabbar页面显示的相关问题及解决办法!
    微信小程序中如何实现分页下拉加载?(附源码)
    利用stylist插件,简单两步屏蔽新浪微博上的广告
    微信小程序官方指南手册,教你如何使用微信小程序!
  • 原文地址:https://www.cnblogs.com/dzq1991/p/6186380.html
Copyright © 2011-2022 走看看