嵌入式-c语言基础:冒泡排序实现从大到小排列

复制代码
#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

posted @   WellMandala  阅读(403)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示