冒泡算法

2018-07-22  本文已影响0人  家有萌犬

用冒泡算法对数组进行从小到大排序

思路

将相邻两个数进行比较,较大的放在角标较大的位置。

第1次比较.png 第2次比较.png 第3次比较.png 第4次比较.png 第5次比较.png

黄色为本次比较的两个数,红色代表本次比较最大的书,下次循环不需要比较上一次最大的值。

#include<stdio.h>
#include<math.h>

main() {
    int a[10];
    printf("输入10个数\n");
    for (int i = 0; i < 10; i++) {
        scanf("%d", &a[i]);
    }

    int temp;
    for (int y = 0; y < 9; y++)
    {
                //上一次循环最大值不需要比对
        for (int x = 0; x < 9 - y; x++)
        {
            if (a[x] > a[x + 1])
            {
                temp = a[x + 1];
                a[x + 1] = a[x];
                a[x] = temp;
            }
        }
    }

    printf("冒泡排序结果\n");
    for (int i = 0; i < 10; i++) {
        printf("%d", a[i]);
        printf("\n");
    }
    system("pause");
}
运行结果.png
上一篇 下一篇

猜你喜欢

热点阅读