冒泡排序

纵饮孤独 提交于 2019-12-06 00:21:50

冒泡排序

1.冒泡排序思想

让数组当中相邻的两个数进行比较,数组当中比较小的数值向下沉,数值比较大的向上浮!外层for循环控制循环次数,内层for循环控制相邻的两个元素进行比较。

2. 编码

#include<stdio.h>
int main()
{
    int a[100],i,j,n,t;
    printf("请输入排序个数:");
    scanf("%d",&n);
    printf("\n请依次输入需排序的数字(以空格隔开):");
    for(i=1;i<=n;i++)
    {
        scanf("%d",&a[i]);
    }

    ////////冒泡排序的核心部分///////////////////

    for(i=1;i<=n-1;i++)//n个数排序,只用进行n-1趟
    {
        for(j=1;j<=n-i;j++)//从第一位开始比较到最后一个尚未归为的数,执行n-i趟
        {
            if(a[j]<a[j+1])
            {
                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            }
        }
    }
    ////////////////////////////////////////////
    printf("从大到小的顺序排序:");
    for(i=1;i<=n;i++)
    {
        printf("%d ",a[i]);
    }
    printf("\n");
    getchar();
}

3. 示例

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!