首页 > 其他分享 >嵌入式-c语言基础:冒泡排序实现从大到小排列

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

时间:2022-10-19 21:45:35浏览次数:44  
标签:10 arr int 冒泡排序 嵌入式 sizeArr 从大到

#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

标签:10,arr,int,冒泡排序,嵌入式,sizeArr,从大到
From: https://www.cnblogs.com/zxtang/p/16807888.html

相关文章