嵌入式学习第七天

📅 2026/7/23 4:10:23 👁️ 阅读次数 📝 编程学习
嵌入式学习第七天

今天学习了排序算法的冒泡排序和插入排序以及查找算法

冒泡排序

核心思想:比较两个相邻的数的大小,小的放前面,大的放后面。

代码:

for(i= 0;i<n;++i)

{

for(j=1;j<n-i:++j)

{

if(a[j]>a[j+1])

{

交换位置

}

}

}

插入排序

:将数据放到已排序的数据中,通过比较插入合适的位置

核心代码:

int a[n];

int b[n];

int i = 0;

for(i 0;i<n;++i)

{

int t = a[0];

i = j;

while(j>0 && t < b[j-1])

{

b[j] = b[j-1];

--j;

}

a[j] = t;

}

查找算法

二分查找

核心代码:

int b=0,m=0,e=0;

int n;

while(b<=e)

{

m = (b+e) / 2;

if(n > m)

{

b = m +1;

}else

{

e = m - 1;

}

}

if(b<=e)

{

printf("找到了");

}else

{

printf("没有找到");

}

一维整形数组的用途

1.求极值

2.求逆序

3.排序

4.查找

一维浮点型数组

语法定义:

类型说明符 数组名[ 数组长度]——和int数组没什么区别,主要是处理字符数据。

注意

1.字符数组是用来处理一串字符串数据

2.字符串数据实际上按字符数组的处理方式处理的

3.字符串数据中我们更关心字符在什么时候结束,而不是数组在什么时候结束。字符串结束的标志——'\0'

字符数组:
1.怎么处理字符串?

字符串长度 ——'\0'前面有效字符的个数

C语言中用strilen函数可以获取长度

gets()——从标准输入中获得一个字符串,C语言中不推荐使用,因为会越界

puts()——打印出数组对应的字符串 注意:puts输出时,默认带 换行

字符串复制:
#include <string.h>
char *strcpy(char *dest, const char *src);

如果不使用C语言提供的复制函数也要会自己写。

eg:strcpy(s1,s2);

字符串合并:

#include <string.h>

char *strcat(char *dest, const char *src);

eg:strcat(s1,s2);