专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

C语言 冒泡排序 C语言 冒泡排序

ins518 2024-10-03 00:12:12 技术文章 14 ℃ 0 评论

冒泡法的基本思路是,如果要对 n 个数进行冒泡排序,那么要进行 n-1 遍比较,在第 1 趟比较中要进行 n-j 次两两比较,在第 j 趟比较中要进行 n-j 次两两比较。从这个基本思路中就会发现,趟数决定了两两比较的次数,这样就很容易将两个 for 循环联系起来了。

#pragma mark - 冒泡排序
void bubbleSort(int s[],int length) {
    
    for(int i=0;i<length-1;i++) {
        for(int j=0;j<length-i-1;j++) {
            if(s[j] > s[j+1]) {
                s[j] = s[j] ^ s[j+1];
                s[j+1] = s[j] ^ s[j+1];
                s[j] = s[j] ^ s[j+1];
            }
        }
    }
}

在main函数进行验证

int a[11], i;
    printf("请输入10个数:\n");
    for(i=1;i<=10;i++) {
        scanf("%d",&a[i]);
    }
    printf("排序前:\n");
    for(i=1;i<=10;i++) {
        printf("%5d",a[i]);
    }
    printf("\n");
    //冒泡排序
    bubbleSort(a,10);
    printf("排序后:\n");
    for(i=1;i<=10;i++) {
        printf("%5d",a[i]);
    }
    printf("\n");

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表