冒泡算法

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

思路

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

第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
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 原理:比较两个相邻的元素,将值大的元素交换至右端。 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在...
    dev晴天阅读 4,640评论 1 2
  • 1.冒泡算法 抱歉。上个版本的文章确实有很大问题,大家的回复颠覆了我对冒泡排序的想法,在此谢谢大家。有个热心观众写...
    KaelQ阅读 4,440评论 10 16
  • 一,冒泡算法简介 冒泡算法是一种基础的排序算法,这种算法会重复的比较数组中相邻的两个元素。如果一个元素比另一个元素...
    旅行的光阅读 4,053评论 0 3
  • 卢思浩说: 成长的一部分就是你会不断地和熟悉的东西 告别,和一些人告别,做一些以前不会做的 事,爱一个可能没有结果...
    长安不长阅读 2,981评论 0 1
  • 今天下大雪,一整天都在工作,一心一意的都工作,哪里去不了,太冷了 7点大集合,爸妈又来我房间了,吹着空调看着电视 ...
    书恒被从名了阅读 1,202评论 2 0

友情链接更多精彩内容