开发者社区> 问答> 正文

C语言冒泡排序法代码

C语言冒泡排序法代码

展开
收起
知与谁同 2018-07-20 11:29:14 2749 0
2 条回答
写回答
取消 提交回答
  • 结果: 代码:#include <stdio.h>void main()
    {
    int i, j, temp;
    int a[10];
    for (i = 0; i < 10; i++)
    {
    scanf("%d,", &a[i]);
    }
    for (j = 0; j < 9; j++)
    {
    for (i = 0; i < 9 - j; i++)
    {
    if (a[i] > a[i + 1])
    {
    temp = a[i];
    a[i] = a[i + 1];
    a[i + 1] = temp;
    }
    }
    } for (i = 0; i < 10; i++)
    {
    printf("%d,", a[i]);
    }
    printf("\n");
    }
    2019-07-17 22:49:31
    赞同 展开评论 打赏
  • Nothing for nothing.

    冒泡排序是排序算法的一种,思路清晰,代码简洁,常被用在大学生计算机课程中。“冒泡”这个名字的由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。这里以从小到大排序为例进行讲解。基本思想及举例说明


    冒泡排序的基本思想就是不断比较相邻的两个数,让较大的元素不断地往后移。经过一轮比较就,选出最大的数;经过第2轮比较,就选出次大的数,以此类推。下面以对 3 2 4 1 进行冒泡排序说明。

    1.这个算法用rand函数产生新的要排序的数据,与已有的有序数列中的数据依次比较,如果遇到比他大的数据,就从该数据开始,一直交换到末尾,达到一个插入的效果。从而形成有序的数列。

    2.此外,只用rand函数并不能达到真正随机的效果。如果要实现真正随机的效果,还要配合srand函数才行。

    3.具体代码如下:#include "stdio.h"#include "stdlib.h"void main(){int a[10],temp,r; printf("请输入一个种子\n"); scanf("%d",&r);srand(r); for(int i=0;i<9;i++) 。

    -------------------------

    #include<stdio.h>
    #include<stdlib.h>

    main()
    {
    int i, j, b, a[10]; printf("随机猜想数为:\n");
    for(i = 0; i < 10; i++)
    {
    a[i] = rand();
    printf("%d\n",a[i]);
    }
    printf("按升序排列为:\n");
    for(i = 0; i < 9; i++)
    {
    for(j = 0; j < 9 - i ; j++)
    {
    if(a[j] > a[j + 1])
    {
    b = a[j];
    a[j] = a[j + 1];
    a[j + 1] = b;
    }
    }
    }
    for(i = 0; i < 10; i++)
    {
    printf("%d\n",a[i]);
    }
    }

    2019-07-17 22:49:31
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载