手记

【九月打卡】第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;
}

打卡:

课程评价

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

0人推荐
随时随地看视频
慕课网APP