◆ IRinsho BLOG / 04
头像
←返回列表 c语言学习 / 2026/10/22 / 冒泡排序
c语言学习2026/10/22

冒泡排序

一:思路

两两比较相邻元素,如果前面的比后面大就交换。一轮下来最大的元素被放到最后

二:示例

#include <stdio.h>  
#include <math.h>  
  
int main(void) {  
  
    int max;  
    int a[10];  
    for (int i=0;i<10;i++) {  
        scanf("%d",&a[i]);  
    }  
  
    max=a[0];  
    for (int t=0; t<10-1; t++) {  
        for (int j=0;j<10-1;j++) {  
             if (a[j]>a[j+1]) {  
                 max=a[j];  
                 a[j]=a[j+1];  
                 a[j+1]=max;  
            }  
        }  
    }  
    for (int i=0;i<10;i++) {  
        printf("%d\n",a[i]);  
    }  
  
return 0;  
  
}

三:排序主体代码

max=a[0];  
    for (int t=0; t<10-1; t++) {   
        for (int j=0;j<10-1;j++) {  
             if (a[j]>a[j+1]) {  
                 max=a[j];  
                 a[j]=a[j+1];  
                 a[j+1]=max;  
            }  
        }  
    }  

四:拆解

for (int j=0;j<10-1;j++) {  
             if (a[j]>a[j+1]) {  
                 max=a[j];  
                 a[j]=a[j+1];  
                 a[j+1]=max;  
            }  
        }