为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第15天【养成记】嵌入式挑战第15天 学习图的基本概念

标签:
嵌入式

课程名称:

物联网/嵌入式工程师

课程章节(阶段二第七周 冒泡排序 1-1):

冒泡排序课程链接

老师:

大白老师

课程内容:

学习常用排序中的冒泡排序

学习笔记:

以下为排序过程:

  • 比较第一个数与第二个数,若为逆序a[0]>a[1],则交换;然后比较第二个数与第三个数;依次类推,直至第n-1个数和第n个数比较为止——第一趟冒泡排序,结果最大的数被安置在最后一个元素位置上.

  • 对前n-1个数进行第二趟冒泡排序,结果使次大的数被安置在第n-1个元素位置

  • 重复上述过程,共经过n-1趟冒泡排序后,排序结束

代码实现

#include <stdio.h>

//冒泡排序
void buddle_sort(int *p,int n)
{
        int i = 0,j = 0;        

        for(i = 0;i < n - 1;i++) //轮数
        {
                for(j = 0;j < n - 1 - i;j++)
                {
                        if(p[j] > p[j + 1])        
                        {
                                p[j] ^= p[j + 1];        
                                p[j + 1] ^= p[j];        
                                p[j] ^= p[j + 1];        
                        }
                }
        }
        return ;
}

void ouput(int *p,int n)
{
        int i = 0;

        for(i = 0;i < n;i++)
        {
                printf("%d ",p[i]);        
        }
        printf("\n");
}

int main()
{
        int a[5] = {50,40,30,20,10};        

        int n = sizeof(a)/sizeof(a[0]);
        
        ouput(a,n);
        buddle_sort(a,n);
        ouput(a,n);
        
        return 0;
}

打卡:

图片描述

图片描述

图片描述

课程评价

本节主要讲解图的冒泡排序,老师讲的很详细,我也听懂了。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消