加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C语言冒泡排序算法

发布时间:2020-12-15 17:31:54 所属栏目:百科 来源:网络整理
导读:用冒泡排序法对任意输入的 10 个数按照从小到大的顺序进行排序。 实现过程: (1) 通过两个 for 循环实现冒泡排序的全过程,外层 for 循环决定冒泡排序的趟数,内层 for 循环决定每趟所进行两两比较的次数。 (2) 程序代码如下: #include stdio.hint main(){ i
用冒泡排序法对任意输入的 10 个数按照从小到大的顺序进行排序。

实现过程:

(1) 通过两个 for 循环实现冒泡排序的全过程,外层 for 循环决定冒泡排序的趟数,内层 for 循环决定每趟所进行两两比较的次数。

(2) 程序代码如下:
#include <stdio.h>
int main()
{
    int i,j,t,a[11];    //定义变量及数组为基本整型
    printf("请输入10个数:n");
    for(i=1;i<11;i++)
        scanf("%d",&a[i]);    //从键盘中输入10个数
    for(i=1;i<10;i++)    //变量i代表比较的趟数
        for(j=1;j<11-i;j++)    //变最j代表每趟两两比较的次数
            if(a[j]>a[j+1])
            {
                t=a[j];    //产利用中间变童实现两值互换
                a[j]=a[j+1];
                a[j+1]=t;
            }
            printf("排序后的顺序是:n");
            for(i=1;i<=10;i++)
                printf("%5d",a[i]);    //将胃泡排序后的顺序输出
        printf("n");
    return 0;
}

运行结果:

请输入10个数:
66 32 23 45 25 5 15 69 46 37
排序后的顺序是:
??? 5?? 15?? 23?? 25?? 32?? 37?? 45?? 46?? 66?? 69

技术要点:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读