#include<stdio.h>


int main()
{
    /*冒泡排序:从大到小*/
    /*i=0 第1轮(i+1):需要比较9次(sizeArr-i-1)*/
    /*i=1 第2轮(i+1):需要比较8次(sizeArr-i-1)*/
    /*i=2 第3轮(i+1):需要比较7次(sizeArr-i-1)*/
    /*共比较9轮(sizeArr-1)*/
    int arr[10]={20,10,7,15,58,2,45,122,4,52};
    int sizeArr=sizeof(arr)/sizeof(arr[0]);//10
    
    printf("交换前:\n");
    for(int i=0;i<sizeArr;i++)
    {
        printf("%d\n",arr[i]);
    }
    //第i+1轮
    for(int i=0;i<sizeArr-1;i++)
    {
        //第i+1轮需要比较的次数=sizeArr-i-1
        for(int j=0;j<sizeArr-i-1;j++)
        {
            //交换位置
            if(arr[j]<arr[j+1])
            {
                int temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
            }
        }
    }
    
    printf("交换后:\n");
    for(int i=0;i<sizeArr;i++)
    {
        printf("%d\n",arr[i]);
    }
    return 0;
}

输出结果:

交换前:
20
10
7
15
58
2
45
122
4
52
交换后:
122
58
52
45
20
15
10
7
4
2

原文地址:http://www.cnblogs.com/zxtang/p/16807888.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性