leetbook学习系列之:数组和字符串 基于数组的在计算机内存连续存储,有下标索引,且每个元素占内存空间大小相等的特点,来设计数组元素的操作方法。二维数组:本质上还是一维数组,只是这个一维数组的每个元素又是一维数组。用来处理矩阵相关的实际问题。集合:由一个或多个元素构成的整体。就是将一组事物组合在一起。列表:又叫线性列表。按照一定顺序排列而成的有限序列。数组:是列表的实现方式之一。
C语言排序算法 从左到右,相邻元素进行比较。n个元素,需要n轮比较;每轮需要n - i -1次两两比较。从下到大排序为例:1)经过第一轮的比较,就可以找到最大的元素,并将它移动到最后一个位置。2)第一轮结束后,继续第二轮。仍然从数组头部开始比较,让较大的元素逐渐往后移动,直到数组的倒数第二个元素为止。经过第二轮的比较,就可以找到次大的元素,并将它放到倒数第二个位置。3)以此类推,进行 n-1(n 为数组长度)轮“冒泡”后,就可以将所有的元素都排列好。每比较一轮,就会找到序列中最大的一个或最小的一个。
Leetcode刷题---daily一练---编程基础从0到1题库 需要强制类型转换成char。方法二:求字符对应的asii码值和。刷题时间:20240324。刷题时间:20240325。刷题日期:20240326。刷题时间20240327。方法一:计算字符的个数。
Wi-Fi sta扫描连接过程 AP 收到 Assoc Req 帧后,最终确认 STA 的 Listen Interval 自己能不能接受,能力信息是否匹配,如果一切 OK,回复 Assoc Rsp 帧,携带 AID(Association ID) 和 successful 信息,表明关联成功。如果采用的是 Open System 方式,即 TKIP/WPA/WPA2 方式,在 Auth 阶段其实没有进行身份认证的工作,在 Auth 阶段就决定把身份认证的工作放在当前 EAPOL 阶段了。如果选择了安全认证,还需要wpa2四次握手。
0 Wi-Fi基础 多链路操作 (MLO) 是 Wi-Fi 7 (802.11be) 规范中的主要功能。无论是并发还是非并发,MLO 都是支持 Wi-Fi 7 的多链路设备 (MLD) 的一项强制性功能。
2. Android Wi-Fi并发 DBS:SCC:MCC:Android 12 引入了 Wi-Fi AP/AP 并发功能,允许设备创建两个接入点 (AP) 接口。借助此功能,设备可以通过双频同步 (DBS) Wi-Fi 热点(软 AP)支持网络共享。
1. Android Wi-Fi架构 使用 Wi-Fi 服务的应用通过 Binder 直接与各种 Wi-Fi 服务进行通信。支持在断开网络的情况下,在可信设备和应用之间共享高吞吐量数据。现在HIDL接口都是用aidl描述的。通过 HIDL 与 HAL 进行通信。Wi-Fi 服务在系统服务中运行。
c语言结构体基础 + 难点梳理 概述结构体跟数组完全不一样,许多特性反而跟基本类型一致; 声明时,成员以分号结尾,赋值时则以逗号隔开; 长度计算,根据内存存储图来思考: 成员起始地址为期所占内存的整数倍 总占内存数为成员最大基类型(不包括扩展类型)的整数倍 所以定义结构体时要考虑成员间的顺序,以便减少无效内存占用 结构体变量名就是所有成员的集合,需要其地址的话要用&结构体名1. 结构体基本语法代码 1 /* 2 * author: tianqiang 3 * date :202..
C++Primer Plus-第七章 C++编程模块学习 1. 当且仅当用于函数头或函数原型中时,int* array和int array[]含义才是相同的。都意味着array是一个int型指针。一般当指针指向数组的第一个元素时,用数组表示法,而指向一个独立值时,用指针表示法。2. array[i] = *(array + i):表示数组第i个元素的值 &array[i] = array + i:表示数组第i个元素的地址。3. 数组作为参数:实际并没有传递数组的内容,而是将数组的地址,元素种类,元素个数传递给函数。(常规变量传递的是copy,数组时,由于是地址
C++Primer Plus-第四章学习 基础知识点:数组:1. 定义数组时,size必须是编译时已知的:整型常量、const值、常量表达式。但是可以通过new动态数组来避开这个限制;2. 数组只能在定义时初始化。不能将一个数组赋值给另一个数组。3. C++大括号(列表)初始化是通用的初始化方式:可省略=,禁止缩窄精度。4. 数组替代品,更复杂灵活:动态数组替代品:模板类vector;静态数组替代品:模板类array。字符串:1. c-style字符串:存储在char数组中,必须是\0结尾,否则不是字符串。2. C++:string类库:使用指针处
SOA汽车软件架构 SOA软件架构,通过服务封装,实现网络连接、数据转换、业务逻辑三者间彻底解耦。每个服务都有唯一的身份标识,自发布,订阅其他服务,与其他服务通信。SOA架构可以最大化的实现软件复用:汽车ECU发展趋势: 整车架构:...
C语言struct + union + enum基础 概述:2. 结构体基本语法代码/* 2 * author: tianqiang 3 * date :2022/0518 4 * description: 结构体基本语法 5 * 1)结构体类型声明时,成员结尾为分号; 6 * 2)整体赋值时,成员间以逗号隔开; 7 * 3)编译器会隐式的自动地址对齐 8 * 4)成员的起始地址为其所占内存的..
C语言---数组难点梳理 概述:C语言的语法不能靠死记硬背,而是需要理解,真正理解了背后的原理,C数组的难点也就不攻自破了。特别需要重点深入理解甚至死记的知识点如下:计算机内存被分成一个个的内存单元,每个单元大小为一个字节,给每个单元一个编号就是这个单元的地址,地址也被称为指针。所以是否可以重新赋值就涉及到地址是否可以重新赋值,还有就是地址指向的值是否可以重新赋值。 数组占有连续的内存单元,所以非常适合指针操作(copy等操作效率更高),所以数组名会被编译器自动隐式的转换成常量指针(有两个例外:对数组名取地址时;sizeo
Linux基础学习 1. Linux系统启动启动可以分为5个过程:1.1 内核的引导当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。1.2 运行 init。init 进程是系统所有进程的起点,没有这个进程,系统中任何进程都不会启动。init 程序首先是需要读取配置文件。init进程的一大...
如何提升码代码能力方法论漫谈 码代码其实跟写文章有几分类似。我们从小就学习写作文,基于学习写作文的经验,我总结了码代码能力提升学习的思路和步骤如下:思路:长期的阅读别人的源码,长期的维护重构自己的源码,最终做到码代码能力质的提升。步骤:1)先把基础语法学透:语法范例一定吃透,为以后熟练巧妙的使用做好坚实的基础。2)阅读学习别人的源码:源码的框架思想,重点感悟,为以后自己组织自己的框架做好基础。3)模仿,借鉴比人的源码,实现自己的功能,为以后自我创新出自己的代码做好基础。4)真正写出自己的代码:落地,真正把学...
浪潮之巅-读后感 《浪潮之巅》这本书,草草翻阅感觉就是科技企业的一部兴衰史,介绍了各个时代引领浪潮的伟大企业如何在时代的大潮里走上巅峰,又如何在浪潮退却时步入低谷甚至沦落到被收购的结局;细细品读却感触颇深,企业从发展到极度辉煌再到衰败,不就是自然界万事万物兴衰的体现吗?“站在风口上,猪都可以飞上天”,所以这些伟大的企业其实都是找到了属于自己的风口,一步步走向辉煌,但是当风口过后,是否还能够保持自己的领先地位,才...