冒泡排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒泡排序相关的知识,希望对你有一定的参考价值。

/*
    需求:
        使用“冒泡”排序进行数字排序
        从小到大进行排序
        
    思路:
        每一次循环找到最大的那个数,放在最后,循环的次数等于数字的个数减1 
        当前位于下一位进行比较,如果当前数比后一个数大,那么就交换两个数的位置
         
*/
#include<stdio.h>
#define LEN 10    //定义数组长度常量 
int main()
{
    int a[LEN];
    int i, j, t;
    
    //用户输入数字 
    printf("Please enter  the %d integer:\n", LEN);
    for(i = 0; i < LEN; i++)
        scanf("%d", &a[i]);
    
    //排序    
    for(i = 1; i < LEN; i++)    //需要循环数字的个数-1 
    {
        for(j = 0; j < LEN-i; j++)    //对每一个数字进行比较 
            if(a[j] > a[j+1])    //如果左边的数字比右边的数字大,两个数字位置交换 
            {
                t = a[j];
                a[j] = a[j+1];
                a[j+1] = t;
            }
    }
    
    //输出 
    for(i = 0; i < LEN; i++)
        printf("%d  ", a[i]);
    
    return 0;
}

以上是关于冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章

java冒泡排序法代码

python代码实现鸡尾酒排序(双向冒泡排序)

冒泡排序python代码

视频+图文+动画详解冒泡排序

交换排序(冒泡排序快速排序的算法思想及代码实现)

C语言冒泡排序。